比如我有依賴性:Maven的依賴性:排除一個類
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.5.6</version>
</dependency>
我可以排除一類,例如org/slf4j/Marker.class
?
比如我有依賴性:Maven的依賴性:排除一個類
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.5.6</version>
</dependency>
我可以排除一類,例如org/slf4j/Marker.class
?
在無法排除某個單一類試試吧。在<dependency>
標籤內,您可以定義<exclusions/>
。但是,這些是針對整個依賴關係的。
陰影插件應小心處理。一般來說,在一個地方創建一個包含所有依賴關係的jar並不是一個好習慣,因爲如果要將另一個項目中生成的工件用作依賴關係,它往往會導致問題。例如,在你的jar中加slf4j,然後在另一個你有另一個slf4j的項目中取決於你的artifact會給你帶來悲傷。
您可以更改這些類並將它們定義在不同的jar /模塊中,這些應該作爲依賴關係在之前提供依賴關係的jar文件(Marker.class)。
Maven記得從版本2.0.9開始的類路徑排序。
'排除'在什麼階段 - 編譯或打包? – Raghuram 2012-04-10 10:46:02
封裝在.ear中,使用maven-ear-plugin – Ilya 2012-04-10 10:48:03
hmm! .ear需要的是沒有指定類的'slf4j-api.jar'。沒有直接的方法來實現這一點。 – Raghuram 2012-04-10 10:52:29