2013-07-22 391 views
0

现在,我有一个在我的Windows计算机上运行良好的项目。但是,在将其复制到Linux计算机后,编译时会报告以下错误:Maven无法解决依赖关系

无法执行项目警告的目标:无法解析项目com.cloud.ras的依存关系:警报。

为com.external的POM:共享记录中:jar:1.0.4.1缺失,不依赖现有的资料 的com.external的POM:freemarker的:坛子:可用2.3.4缺失,没有依赖信息 缺少com.external:log4j:jar:1.2.14的POM com.soa.lib:eBoxServiceCommon:jar:2.5.3的POM缺失,没有可用的依赖信息

但我已经将这些jar复制到了maven仓库。谁能给我一个帮助?

+0

如果你(似乎)知道诸如'commons-logging'之类的外部依赖的版本,为什么不依赖它们;现在看起来你引入了'com.external'的假'groupId',或者我看到错误了吗? “复制...到...存储库”是什么意思?你有公司存储库吗,是在你的POM中还是在Linux的'settings.xml'中配置的?还是你提到你的本地存储库,不是不可能的,但毛茸茸的? –

回答

0

您不应该首先复制JAR。这是Maven的工作来解决你的依赖。

如果您解释为什么您需要使用自己的groupId(例如, com.external,即commons-logging来自Apache,但您使用com.external作为其groupId

如果你真的坚持要使用自己的groupId,至少要下载JAR并使用Maven进行安装。看到这里: http://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html

+0

想要击中原来的海报有一些感觉:)想要downvote这不真的回答了很多问题:) –

+0

好吧,我已经解决了这个问题。问题是,在Windows计算机上编译项目时,它使用一些已下载到本地存储库的存储库。如果我清理本地存储库并再次编译该项目,它也会失败。但是,当我将它编译到我的Linux计算机上时,由于本地存储库中没有相关的存储库,所以它失败了。最后,根本原因是pom文件不正确。 – Bryant