[英]Maven, exclude hamcrest dependency for junit
我在pom.xml中排除了junit依賴的hamcrest依賴關系。 當我比較運行"mvn package"
和"mvn dependency:tree"
時的日志時,排除hamcrest依賴關系前后,我看不出任何區別。
這是排除傳遞依存關系的部分。 運行排除部分前后,在哪里可以找到區別? 我也查看了.m2目錄
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
<exclusions>
</exclusion>
<groupId> org.hamcrest</groupId>
<artifactId>hamcrest</artifactId>
</exclusion>
</exclusions>
</dependency>
正如Kiril S.所說,由於打字錯誤,顯示的pom部分無效,執行任何任務時都將導致錯誤。
排除是錯誤的,因為它確實匹配了junit聲明的任何依賴項。 運行mvn dependency:tree
應該顯示以下內容:
[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ my-app ---
[INFO] com.mycompany.app:my-app:jar:1.0-SNAPSHOT
[INFO] \- junit:junit:jar:4.11:test
[INFO] \- org.hamcrest:hamcrest-core:jar:1.3:test
如您所見,junit的實際依賴關系是
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-core</artifactId>
如果您在pom中解決了該問題,則調用mvn dependency:tree
將導致預期的排除。
[INFO] com.mycompany.app:my-app:jar:1.0-SNAPSHOT
[INFO] \- junit:junit:jar:4.11:test
[INFO] ------------------------------------------------------------------------
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.