我正在處理的項目是由多個模塊,用maven構建。 某些模塊中的測試代碼依賴於來自其他模塊的測試代碼。 這些依賴關係聲明如下。如何運行maven編譯階段與測試jar依賴
在依賴模塊:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.2</version>
<executions>
<execution>
<goals>
<goal>test-jar</goal>
</goals>
</execution>
</executions>
</plugin>
在具有先前的模塊上的依賴關係的模塊:
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>themodulename</artifactId>
<version>${project.version}</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>
使用該配置,行家安裝相可以成功地被執行。 但試圖運行編譯或測試階段失敗,因爲測試jar文件的依賴關係無法解析。
縱觀測試罐子目標,這似乎是默認配置在包階段,我認爲這是問題的原因運行。
然後,我試圖迫使這一目標的期間運行編譯階段,通過修改第一配置成:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.2</version>
<executions>
<execution>
<phase>compile</phase>
<goals>
<goal>test-jar</goal>
</goals>
</execution>
</executions>
</plugin>
望着調試日誌,我可以看到,我們的目標現在執行在編譯期間階段,也是這樣:
[WARNING] JAR will be empty - no content was marked for inclusion!
我試圖配置包括對**/*,並確認默認testClassesDirectory被設置在右側e,但我仍然得到同樣的警告。
我可以看到,測試類的文件夾沒有運行編譯階段,這似乎正常後存在,但即使它運行測試階段之後存在,並且它包含的文件,我仍然得到「JAR將是空的」警告。
沒有人有解決這個配置,使我能夠順利的運行編譯或測試階段的任何想法?
也有類似的問題,一些插件。有興趣的。 – Scorpio
昨天有類似的問題,然後我意識到我有maven.skip.tests選項設置爲true。在你的情況下它可能會類似嗎? – pushy
你的聲明** test-jar **看起來有點奇怪,你能告訴我們這個相關模塊的pom頭嗎? –
Farid