我有以下项目结构
A (testlib removed)
/ \
V V
B C
\ /
V
D (packs to war)
基本上,项目A是B和C的依赖关系,它们又是项目D的依赖关系
最初,我在项目A中有一个库说testlib
。但是,我在项目A pom中删除了这个库。
我做了以下事情:
1. mvn clean install on project A (`testlib` remove)
2. mvn install on project B
3. mvn install on project C
4. mvn install on Project D, which creates a `war` say `d.war`.
当我打开d.war
档案时,我可以看到testlib
存在于WEB-INF/lib
内
我在所有项目上尝试了mvn dependency:tree
,我在任何项目中都找不到testlib
。我想了解testlib
包含在war
文件中的可能原因,或者是否有更好的调试方法..
什么是A的版本?
如果它不是“SNAPSHOT”(或者换句话说它是“RELEASE”;意思是它不以“SNAPSHOT”结尾)那么maven将不会用新的A更新你的其他项目B和C.
检查项目A的pom内的本地.m2存储库是否仍然提到了testlib。尝试从.m2中删除项目A的文件夹并执行A和D的干净安装