2011-02-23 79 views
2

UPDATE:起初它似乎是SoapUI maven插件的具體問題,但事實並非如此,所以請仔細閱讀。Maven:如何爲插件執行添加自定義類路徑條目?

我跑了SoapUI插件與Maven2的是這樣的:

<plugin> 
    <groupId>eviware</groupId> 
    <artifactId>maven-soapui-plugin</artifactId> 
    <version>3.6.1</version> 
    <configuration> 
     <settingsFile>${basedir}/src/test/resources/soapui-settings.xml</settingsFile> 
     <projectFile>${basedir}/src/test/resources/my-soapui-project.xml</projectFile> 
     <outputFolder>${project.build.directory}/soapui-output</outputFolder> 
     <printReport>true</printReport> 
     <junitReport>true</junitReport> 
     <exportAll>true</exportAll> 
     <soapuiProperties> 
     <property> 
      <name>soapui.logroot</name> 
      <value>${project.build.directory}/soapui-logs/</value> 
     </property> 
     </soapuiProperties> 
    </configuration> 
</plugin> 

它完美,並把所有soapUI的日誌文件到${project.build.directory}/soapui-logs/有一個例外:global-groovy.log其進入BASEDIR(似乎是在log4j的了SoapUI錯誤組態)。

我需要一個選項來覆蓋soapui-log4j.xml文件附帶的soapUI Maven插件和修復GLOBAL_GROOVY_LOG附加器來源:

<param name="File" value="global-groovy.log"/> 

這樣:

<param name="File" value="${soapui.logroot}global-groovy.log"/> 

在過去,我跑了SoapUI測試編程方式從JUnit測試,並將soapui-log4j.xml文件更新到src/test/resources/com/eviware/soapui/resources/conf/soapui-log4j.xml,它工作。 Maven將其複製到target/test-classes中,並將該路徑添加到classpath以運行單元測試。

現在SoapUI maven插件的問題是我不知道如何將src/test/resources/com/eviware/soapui/resources/conf/soapui-log4j.xml添加到插件的classpath。有沒有類似Surefire的additionalClasspathElementsconfiguration option

換句話說,我想知道如何將其他類路徑條目添加到任何通用Maven插件執行環境,而不僅僅是SoapUI插件。

+0

我也看到了放在basedir中的soapui.log和soapui-errors.log。 – Jared 2011-08-23 20:41:53

回答

1

可以使用dependencies元素添加到插件依賴項。來自POM參考:

此項目需要引入插件的類加載器的其他依賴項。

我不知道maven如何處理這些依賴關係,因此它可能會將它們放置在插件自己的類之後,這有效地防止覆蓋log4j配置,但可以嘗試一下;將log4j配置文件打包到jar中,並將其作爲依賴項添加到插件中。

+0

它工作,謝謝! – parxier 2011-02-24 02:56:44

相關問題