我有第三方jar文件,我不得不使用它,但不幸的是它包含嵌入的log4j配置文件作爲資源。當我將第三方jar包含爲Maven依賴項時,我也選擇了他們的log4j配置,這會覆蓋我自己的配置。從Maven的依賴jar中排除資源
有沒有辦法告訴Maven包含jar依賴項,同時排除該jar中的特定資源?
我有第三方jar文件,我不得不使用它,但不幸的是它包含嵌入的log4j配置文件作爲資源。當我將第三方jar包含爲Maven依賴項時,我也選擇了他們的log4j配置,這會覆蓋我自己的配置。從Maven的依賴jar中排除資源
有沒有辦法告訴Maven包含jar依賴項,同時排除該jar中的特定資源?
簡短的回答是NO
但是,如果你想使用自己的log4j的配置設置系統屬性使用-Dlog4j.configuration=somefile.properties
或類似的命名log4j.configuration
。
有關更多信息,請參閱此SO-answer。
使用
<dependency>
<groupId>sample.ProjectA</groupId>
<artifactId>Project-A</artifactId>
<version>1.0</version>
<scope>compile</scope>
<exclusions>
<exclusion> <!-- declare the exclusion here -->
<groupId>sample.ProjectB</groupId>
<artifactId>Project-B</artifactId>
</exclusion>
</exclusions>
</dependency>
是的,你可以使用maven
shade plugin爲。您可以使用過濾器來排除資源。
如果我沒有弄錯。這排除了一個依賴項,而不是項目-A中的資源,這是OP要求的嗎? – wassgren