2013-04-18 49 views
1

我构建了一个目标A.war,并且A.war依赖于B.jar。Maven本地安装构件在构建战后不包含远程依赖关系

B.jar已在本地安装。 B.jar在远程仓库中有一些依赖关系。

当A.war被创建(它说成功)时,B.jar的所有依赖项都不包含在最终目标A.war中。

+2

B.jar的pom信息是否包含适当的依赖信息? – 2013-04-18 03:00:03

+3

显示A和B的POM将有所帮助。 – NilsH 2013-04-18 03:02:57

+0

这两个模块是否具有相同的父类? – tstorms 2013-04-18 06:54:44

回答

2

你是说B.jar是“本地安装”。目前尚不清楚它的含义。

如果B.jar一个Maven构件和“本地安装”是指“安装在本地Maven仓库”,那么你应该看看B.jarpom.xml文件,并检查dependencies元素。只有compileruntimetest范围内的相关性最终将包含在A.war中。

您可以对B模块执行mvn dependency:tree并查看如何计算依赖关系。

如果B.jar不是Maven工件,那么Maven无法真正知道B.jar的依赖关系是什么。如果您碰巧将“依赖关系”称为“MANIFEST.MF文件中的条目”,那么对于Maven来说,这样做还不够好。