首页 文章

如果不是独立构建的话,Maven war包含额外的依赖项

提问于
浏览
0

我有一场战争,我正试图减少它的WEB-INF / lib中包含的依赖关系,因为它们是由耳朵提供的,如果它们只是在耳朵里它解决了我曾经遇到的一些类加载器问题 .

如果我在战争模块中运行mvn clean install,它只构建我想要的依赖项 . 如果我上升一个级别并在项目上运行mvn install(战争定义为此级别的pom.xml中的模块),那么war将重新打包,具有更多依赖项 .

为什么行为会有所不同,如何阻止所有这些额外的依赖进入?

我试过按照这里的建议,但没有看到行为上的差异:http://maven.apache.org/plugins/maven-war-plugin/examples/skinny-wars.html

Maven 2.0.6,maven-ear-plugin 2.4.1,maven-war-plugin 2.1-beta-1(我无法更改版本,我在一个封闭的网络上) . 提前致谢 .

ETA:项目级别的mvn clean安装程序为我提供了我想要的结果 . 一个mvn clean然后一个mvn安装添加了我不想要的额外 jar .

1 回答

  • 2

    运行 mvn dependency:tree 以查看(可能是传递的)依赖项的来源 .

    您需要阅读“Maven the Definitive Guide”(Sonatype免费PDF),以便深入了解Maven如何处理依赖关系管理 .

    并且请找到升级到maven 2.1.0(最好是2.2.1)的方法,并且最新版本的插件,早期版本是众所周知的错误 .

相关问题