我的应用程序依赖于一个外部 jar
<dependency>
<groupId>org.objectweb.joram</groupId>
<artifactId>jftp</artifactId>
<version>1.52</version>
</dependency>
我主要对使用下面的包import net.sf.jftp.net.*
感兴趣但是看起来这个 jar 也暴露了 org.apache.log4j 包中的某些类,导致将应用程序 war 文件部署到 tomcat 时出现以下异常
java.lang.SecurityException: 类 "org.apache.log4j.PropertyConfigurator"的签名者信息与同一包中其他类的签名者信息不匹配
有什么办法可以避免错误吗?
最佳答案
首先你可以使用
mvn dependency:tree
以准确查看 jftp 加载了哪些依赖项。然后,像这样排除那些你不想要的:
<dependency>
<groupId>org.objectweb.joram</groupId>
<artifactId>jftp</artifactId>
<version>1.52</version>
<exclusions>
<exclusion> <!-- declare the exclusion here -->
<groupId>sample.ProjectB</groupId>
<artifactId>Project-B</artifactId>
</exclusion>
</exclusions>
</dependency>
关于java - 如何从外部 Maven 依赖项中添加排除某些包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19721087/