2010-11-18 58 views
0

我的Maven项目stuctured。如果我执行了'mvn install'命令,maven在我的本地存储库中安装了moduleA和moduleB之后,maven试图安装modeleC但没有成功,首先它尝试在所有已知的maven远程存储库中找到artifact moduleA,然后, m得到一个消息,说明moduleA制品缺失。它如此受到欢迎,因为它有时可以正常工作,有时不会。由于这个问题,我浪费了很多时间。与模式的项目,Maven的依赖分辨率

工件moduleA和moduleB位于我的本地存储库中。

我在Windows 7专业版的64位机器上使用maven 2.2.1。

有谁知道问题是什么?

感谢,

凯文

回答

0

如果使用MVN安装,该命令将会把神器在你的本地仓库。通常在你的主目录下.m2/repository,除非你有不同的指定。如果moduleC正在尝试构建(使用mvn install)并依赖于moduleA,moduleC应该在moduleC时从本地存储库中提取。如果moduleC正在远程查找moduleA,那么moduleA从未安装到本地存储库中。

检查模块C的POM文件。确保moduleC的pom.xml中的依赖信息与moduleA的pom.xml中指定的groupId,artifactId和version相匹配。如果匹配,确保moduleA真的产生一个神器。它应该位于moduleA下的目标目录中。如果moduleA不是jar,请确保您具有在moduleA的pom.xml中列出的type属性,并且该moduleC的pom.xml具有为依赖项列出的那种类型。

如果上述内容不会导致一致的解决方案,那么您可能需要编辑您的问题,添加一些pom.xml详细信息。