Forum Discussion

pauldzy's avatar
pauldzy
Occasional Contributor
13 years ago

New 4.5.0 maven-soapui-plugin missing class

Works fine with 4.5.0-SNAPSHOT but fails with 4.5.0.

mavenExecutionResult exceptions not empty
message : Failed to execute goal eviware:maven-soapui-plugin:4.5.0:test (iregression) on project maven-soapui-plugin: Execution iregression of goal eviware:maven-soapui-plugin:4.5.0:test failed: A required class was missing while executing eviware:maven-soapui-plugin:4.5.0:test: org/fife/ui/rtextarea/RTextArea

Thanks,

Paul
  • pauldzy's avatar
    pauldzy
    Occasional Contributor
    You can work around this issue by adding the following dependency to maven-soapui-plugin-4.5.0.pom:

    <dependency>
    <groupId>com.fifesoft</groupId>
    <artifactId>rsyntaxtextarea</artifactId>
    <version>1.4.0</version>
    </dependency>

    Thanks,

    Paul
  • That solution/workaround did not work for me. The error I get is:


    Code: Select all
    [ERROR] Failed to execute goal eviware:maven-soapui-plugin:4.5.0:mock (default-cli) on project soapui-test: Execution default-cli of goal eviware:maven-soapui-plugin:4.5.0:mock failed: A required class was missing while executing eviware:maven-soapui-plugin:4.5.0:mock: org/fife/ui/rtextarea/RTextArea


    From the above error, it seems that this may be untested in the context of starting a "mock server" using the pom.xml option <noBlock>true</noBlock> and therefore this problem may not be on the radar?

    My project, located at https://github.com/djangofan/soapui-test, only works when I run it and if I put the rsyntaxtextarea-2.0.1.jar in the [JDK_HOME]/jre/lib/ext directory before I start Eclipse. For some reason, it needs to be in the root classloader before Maven executes dependencies.

    Also, here is a more detailed error log: https://gist.github.com/djangofan/5903751

    I should clarify the fact that if you browse the official SoapUI Maven repo, you will find only versions 2.0.1 and 1.3.4 of rsyntaxtextarea library:

    http://www.soapui.org/repository/maven2

    Also, this repo has a unusual groupId and so it would seem that the proper way to declare the dependency is:

    <dependency>
    <groupId>fife</groupId>
    <artifactId>rsyntaxtextarea</artifactId>
    <version>2.0.1</version>
    </dependency>


    But, when I declare it this way, it does not work. So, I have a support ticket out for an answer and also hoping someone on this forum can help answer my question.

    The steps to reproduce this problem aren't too bad:
      1. Install Jenkins
      2. Setup Maven 3.0.5 in jenkins
      3. Create a new Maven job and put project files from my Git repo in the workspace
      4. Have Jenkins execute the maven goals: eviware:maven-soapui-plugin:mock eviware:maven-soapui-plugin:test
  • redfish4ktc2's avatar
    redfish4ktc2
    Super Contributor
    djangofan
    Thanks for your feedback

    about the missing dependency
    If you want to make your build work out of the box, add directly the dependency to you plugin configuration in the pom as you did for the mysql dependency


          <plugin>
    <groupId>eviware</groupId>
    <artifactId>maven-soapui-plugin</artifactId>
    <version>4.5.0</version>
    <dependencies>
    <dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.6</version>
    </dependency>
    <dependency>
    <groupId>fife</groupId>
    <artifactId>rsyntaxtextarea</artifactId>
    <version>2.0.1</version>
    </dependency>
    </dependencies>
    <configuration>....


    The only issue with this is that you will have to add the dependency in all pom which use the soapui plugin

    You can also use the maven soapui pro plugin because the dependency is not missing and also give a try to https://github.com/redfish4ktc/maven-so ... on-plugin/ which fixes some other issues


    About the groupId, yes it is bad
    Actually, SmartBear has used for a long time maven 1 build and use non standard groupId for maven 2 dependencies.
    The build now use maven 3 so we can expect this to be progressively fixed.
    I've started to fix this but the work is still in progress: see https://github.com/redfish4ktc/soapui/t ... es-groupId
  • Ahh! Yes, thanks. I didn't think of adding it as a "plugin dependency". I guess I figured a global dependency would work but it does not. Using the plugin dependency is a much better solution that manually putting the .jar in my JDK/jre/lib/ext directory. Thanks very much.
  • redfish4ktc2's avatar
    redfish4ktc2
    Super Contributor
    You are welcome
    Adding dependencies to soapui plugin is a technique that has been used for a long time to fix dependencies issues (there were a lot)
    For instance, with 4.0.0: viewtopic.php?f=2&t=8052