如何从耳朵的lib文件夹中删除瑕疵?例如:activation.jar。
我尝试按照Excluding a module的especification(只更改jarModule的webModule),但没有成功解决此错误:Artifact[jar:javax.activation:activation] is not a dependency of the project.
答案 0 :(得分:1)
在定义依赖项的任何地方使用provided
作为范围。
<dependency>
<groupId>javax.activation</groupId>
<artifactId>activation</artifactId>
<version>1.1.1</version>
<scope>provided</scope>
</dependency>
答案 1 :(得分:1)
将scope
设置为provided
。 Maven仍然会将依赖项添加到编译时类路径中,但不会添加到最终的WAR。
答案 2 :(得分:0)
正如其他人所说,你需要使用provided
作为范围。如果您需要删除的jar不是直接项目的依赖项(即 transient 依赖项),那么您需要将它们排除在将它们引入构建的任何内容中。如果您在编译时确实需要这些类,则必须将它们重新包含为provided
:
<dependency>
<!-- this dependency has javax.activation as a dependency -->
<groupId>blah.groupId</groupId>
<artifactId>blah.artifactId</artifactId>
<version>blah.version</version>
<exclusions>
<exclusion>
<groupId>javax.activation</groupId>
<artifactId>activation</artifactId>
<exclusion>
</exclusions>
</dependency>
<!-- only necessary if this jar is needed at compile-time -->
<dependency>
<groupId>javax.activation</groupId>
<artifactId>activation</artifactId>
<version>1.1.1</version>
<scope>provided</scope>
</dependency>