0
如果我有我的myproject1的一個項目,該項目具有以下depenedencies:Maven的測試範圍
<!-- logging -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.6</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>1.1.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.1.1</version>
<scope>test</scope>
</dependency>
而且包括我在myproject2 myproject1像這樣:
<dependency>
<groupId>com.mydomain</groupId>
<artifactId>myproject1</artifactId>
<version>1.0</version>
</dependency>
<!-- Android Logging-->
<dependency>
<groupId>com.github.tony19</groupId>
<artifactId>logback-android-core</artifactId>
<version>1.1.1-2</version>
</dependency>
<dependency>
<groupId>com.github.tony19</groupId>
<artifactId>logback-android-classic</artifactId>
<version>1.1.1-2</version>
</dependency>
我仍然看到的logback類是包含在myproject2中。我的理解是,測試範圍應該防止那些罐子流出到父項目中。我誤解了什麼嗎?我目前遇到編譯問題,因爲我的父項目依賴於logback-android,所以我有多個具有相同名稱的類,例如ch.qos.logback.classic.AsyncAppender
。
這是大多數開源項目的做法嗎?看起來很奇怪,有沒有更好的方法來測試日誌類,但是你不想在最終的包中使用它。 – thatidiotguy
與測試範圍的依賴關係不包含在包裝中,除非您明確包含它們,那麼myproject2的包裝是什麼? – hoaz
它目前沒有設置,所以它默認爲jar我想。 – thatidiotguy