我剛剛在Eclipse中使用m2eclipse 0.12.x進行了測試。第二個項目的pom.xml這個樣子:
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>org.test</groupId>
<artifactId>test2</artifactId>
<version>0.0.1-SNAPSHOT</version>
<profiles>
<profile>
<id>TEST</id>
<dependencies>
<dependency>
<groupId>org.test</groupId>
<artifactId>test1</artifactId>
<version>0.0.1-SNAPSHOT</version>
<scope>runtime</scope>
</dependency>
</dependencies>
</profile>
</profiles>
</project>
然後,我在項目屬性對話框中設置的簡檔測試作爲有效的Maven面板上,並從工作區確信依賴解析啓用那裏。
這之後您可以運行test2的項目src/main/java
和生成的類路徑中的類看起來是這樣的:
C:\Dev\Java1.6\bin\javaw.exe -Dfile.encoding=Cp1252
-classpath C:\Dev\Workspace\test2\target\classes;C:\Dev\Workspace\test1\target\classes org.test2.Test2
注意,隨着運行時間範圍僅適用於在Eclipse的「Java應用程序」啓動配置類型的依賴關係,但而不是「JUnit」啓動配置,它使用了m2eclipse JDT集成提供的不同類路徑解析器。
這與eclipse有什麼關係?您是否運行mvn help:effective-pom或dependency:tree,還是僅使用-X? – bmargulies
eclipse標籤的原因是我不確定它是否是eclipse插件問題或maven問題。感謝您讓我知道有關effective-pom的命令,似乎它的maven不會將運行時依賴項從項目B轉移到項目上。作爲有效的pom – user981839