簡體   English   中英

Maven,排除對junit的hamcrest依賴

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM