Maven 2 结合Maven、SoapUi和HermesJMS

Maven 2 结合Maven、SoapUi和HermesJMS,maven-2,soapui,Maven 2,Soapui,我需要将使用HermesJMS和Maven2的SoapUI项目自动化。我遇到的问题是,SoapUI在将HermesJMS集成到其类路径中时确实失败了 2012-09-20 15:48:21,340 ERROR [SoapUI] An error occured [java.lang.NullPointerException], see error log for details 2012-09-20 15:48:21,465 ERROR [errorlog] java.lang.NullPoin

我需要将使用HermesJMS和Maven2的SoapUI项目自动化。我遇到的问题是,SoapUI在将HermesJMS集成到其类路径中时确实失败了

2012-09-20 15:48:21,340 ERROR [SoapUI] An error occured [java.lang.NullPointerException], see error log for details
2012-09-20 15:48:21,465 ERROR [errorlog] java.lang.NullPointerException
java.lang.NullPointerException
at com.eviware.soapui.impl.wsdl.submit.transports.jms.util.HermesUtils.addHermesJarsToClasspath(HermesUtils.java:120)
at com.eviware.soapui.impl.wsdl.submit.transports.jms.util.HermesUtils.getHermes(HermesUtils.java:74)
at com.eviware.soapui.impl.wsdl.submit.transports.jms.util.HermesUtils.hermesContext(HermesUtils.java:55)
at com.eviware.soapui.impl.wsdl.submit.transports.jms.util.HermesUtils.getHermes(HermesUtils.java:200)
at com.eviware.soapui.impl.wsdl.submit.transports.jms.HermesJmsRequestTransport.getHermes(HermesJmsRequestTransport.java:211)
at com.eviware.soapui.impl.wsdl.submit.transports.jms.HermesJmsRequestTransport.init(HermesJmsRequestTransport.java:102)
看起来整合并不像我想象的那么顺利

以下是插件配置:

<plugin>
        <groupId>eviware</groupId>
        <artifactId>maven-soapui-plugin</artifactId>
        <version>4.5.1</version>
        <dependencies>
                <!-- Start IBM DB2 Support -->
                <dependency>
                        <groupId>com.ibm.db2</groupId>
                        <artifactId>db2jcc</artifactId>
                        <version>3.1.57</version>
                </dependency>
                <dependency>
                        <groupId>com.ibm.db2</groupId>
                        <artifactId>db2jcc_license_cu</artifactId>
                        <version>3.1.57</version>
                </dependency>
                <dependency>
                        <groupId>com.ibm.db2</groupId>
                        <artifactId>db2jcc_license_cisuz</artifactId>
                        <version>3.1.57</version>
                </dependency>
                <!-- End IBM DB2 Support -->
                <dependency>
                        <groupId>hermesjms</groupId>
                        <artifactId>hermes</artifactId>
                        <version>1.14</version>
                </dependency>
        </dependencies>
        <configuration>
                <projectFile>src/test/resources/config/BATS-soapui.xml</projectFile>
                <testSuite>BATS</testSuite>
                <outputFolder>${basedir}/target/soapui</outputFolder>
                <projectProperties>
                        <value>outputFileLocation=${outputFileLocation}</value>
                        <value>malpakke=${malpakke}</value>
                        <value>fagomrade=${fagomrade}</value>
                        <value>useDatabase=${useDatabase}</value>
                </projectProperties>
        </configuration>
        <executions>
                <execution>
                        <phase>integration-test</phase>
                        <goals>
                                <goal>test</goal>
                        </goals>
                </execution>
        </executions>
</plugin>

电子设备
maven soapui插件
4.5.1
com.ibm.db2
db2jcc
3.1.57
com.ibm.db2
db2jcc许可证
3.1.57
com.ibm.db2
db2jcc_许可证_cisuz
3.1.57
爱马仕
爱马仕
1.14
src/test/resources/config/BATS-soapui.xml
蝙蝠
${basedir}/target/soapui
outputFileLocation=${outputFileLocation}
malpakke=${malpakke}
fagomrade=${fagomrade}
useDatabase=${useDatabase}
集成测试
测试

我猜SoapUI并没有正确地找到Hermes——但我该如何解决它呢?

我终于解决了这个问题。事实证明,pom.xml中对hermes的依赖并不能使hermes对soapUi可用。最后,我们将hermes文件夹包含在/src/test/resources文件夹中,并指向项目XML中的这个文件夹。

我最终解决了这个问题。事实证明,pom.xml中对hermes的依赖并不能使hermes对soapUi可用。最后,我们将hermes文件夹包含在/src/test/resources文件夹中,并指向项目XML中的这个文件夹。

我知道时间很晚了,但无论如何,它对其他人会有帮助

我通过在配置元素下指定pom XML中SOAPUI设置XML的位置,让Hermes与Maven合作:

<settingsFile>C:/softwares/soapui/soapui-settings.xml</settingsFile>
C:/softwares/soapui/soapui-settings.xml

这样,我们就不需要复制hermes文件夹了。

我知道现在很晚了,但不管怎样,它对其他人都有帮助

我通过在配置元素下指定pom XML中SOAPUI设置XML的位置,让Hermes与Maven合作:

<settingsFile>C:/softwares/soapui/soapui-settings.xml</settingsFile>
C:/softwares/soapui/soapui-settings.xml

通过这种方式,我们不需要复制hermes文件夹。

我已通过以下步骤启动并运行该文件夹:

  • 在pom.xml中添加hermes-1.14依赖项
  • 将hermesJMS安装复制到buildserver的文件系统
  • 将hermes-config.xml添加到项目中,但在每次构建之前将其复制到文件系统中
  • 将soapui-settings.xml添加到项目中,并将其与soapui-maven插件中的-tag一起使用
  • 使用hermesJMS安装路径更新soapui-settings.xml
  • 使用hermes-config.xml的位置路径更新SoapUI项目文件

(请记住,配置文件中的路径位置最好保持与操作系统无关)。

我已通过以下步骤启动并运行此功能:

  • 在pom.xml中添加hermes-1.14依赖项
  • 将hermesJMS安装复制到buildserver的文件系统
  • 将hermes-config.xml添加到项目中,但在每次构建之前将其复制到文件系统中
  • 将soapui-settings.xml添加到项目中,并将其与soapui-maven插件中的-tag一起使用
  • 使用hermesJMS安装路径更新soapui-settings.xml
  • 使用hermes-config.xml的位置路径更新SoapUI项目文件
(请记住,配置文件中的路径位置最好保持与操作系统无关)