所以回答我的問題:D我想出了將不會在CI它很可能只是工作的工作做一個本地編譯的時候,因爲它利用了相對路徑的解決方案的項目。最後,我概述了一個更強大但更復雜的方法,它應該能夠滿足日食和CI。
我在爲戰爭項目的war插件配置設置attachClasses爲true。
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.4</version>
<configuration>
<attachClasses>true</attachClasses>
</configuration>
</plugin>
</plugins>
然後,您可以參考罐子的依賴項目如下
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>storage-service-war</artifactId>
<version>${project.version}</version>
<classifier>classes</classifier>
</dependency>
然後,我想我可以從驗收測試模塊內使用嵌入碼頭或Tomcat運行我的測試中,指着他們war項目中使用相對路徑定義的web.xml。
這通過命令行正常工作與行家,但在Eclipse :(失敗
這樣做的問題是,通過附加類產生的罐子是不是由Eclipse M2E整合拿起看到 - https://bugs.eclipse.org/bugs/show_bug.cgi?id=365419不幸的是它不會是固定。
所以我暫時的解決辦法是存儲服務戰項目中手動添加到日食我驗收測試項目構建路徑。它不是很大,但它的工作原理
上述解決方案是一個有點哈克但是所提出的替代方案涉及更多一點,
通過項目分成我認爲這將有可能有正確的Eclipse的集成和對CI
storage-service
storage-service-core
storage-service-war
storage-service-acceptance-tests
storage-service-config
核心項目包含Web應用程序的邏輯和源工作,是類型的項目如下jar,配置包含web.xml和其他任何配置文件,並且也是jar類型。然後驗收測試和戰爭項目都是類型戰爭,並且僅用於將核心項目打包成戰爭並將配置提取到webapp/WEB-INF目錄,以便它們可以共享通用設置。