我的maven项目被摧毁为:
project
moduleA
moduleB
moduleC
moduleB和moduleC依赖于moduleA。如果我执行'mvn install'命令maven在我的本地存储库中安装moduleA和moduleB之后maven尝试安装modeleC但没有成功,首先它尝试在所有已知的maven远程存储库中找到工件moduleA,之后,我'我得到一个消息,表明moduleA artefact缺失了。它如此芥末,因为有时它工作正常,有时不工作。由于这个问题,我浪费了很多时间。
工件moduleA和moduleB在我的本地存储库中。
我在Windows 7专业版的64Bit机器上使用maven 2.2.1。
有谁知道问题是什么?
谢谢,
凯文
答案 0 :(得分:0)
如果使用mvn install,该命令会将工件放入本地存储库。通常位于.m2 / repository下的主目录中,除非您指定了不同的名称。如果moduleC正在尝试构建(使用mvn install)并且依赖于moduleA,那么moduleA应该在moduleC时从本地存储库中提取。如果moduleC远程查找moduleA,那么moduleA从未安装到本地存储库中。
检查pom文件中的moduleC。确保moduleC的moduleA的pom.xml中的依赖项信息与moduleA的pom.xml中指定的groupId,artifactId和version匹配。如果匹配,请确保moduleA真正生成工件。它应该位于moduleA下的目标目录中。如果moduleA不是jar,请确保在moduleA的pom.xml中列出了type属性,并且moduleC的pom.xml具有为依赖项列出的类型。
如果上述内容无法达到一致的解决方案,您可能需要编辑问题,添加一些pom.xml详细信息。