【问题标题】:Maven Could not resolve dependenciesMaven 无法解决依赖关系
【发布时间】:2013-07-22 07:24:31
【问题描述】:

现在,我有一个在我的 Windows 计算机上运行良好的项目。但是我把它复制到linux电脑后,编译时报如下错误:

未能在项目警报上执行目标:无法解析项目 com.cloud.ras:alert 的依赖项。

com.external:commons-logging:jar:1.0.4.1 的 POM 丢失,没有可用的依赖信息 com.external:freemarker:jar:2.3.4 的 POM 丢失,没有可用的依赖信息 com.external:log4j:jar:1.2.14 的 POM 丢失,没有可用的依赖信息 com.soa.lib:eBoxServiceCommon:jar:2.5.3 的 POM 丢失,没有可用的依赖信息

但我已将这些 jar 复制到 maven 存储库。谁能帮帮我?

【问题讨论】:

  • 如果你(似乎)知道commons-logging等外部依赖的版本,为什么不直接依赖它们呢?现在看来您介绍了com.external 的假groupId,还是我看错了? “复制......到......存储库”是什么意思?您是否有公司存储库,它是在您的 POM 中还是在 Linux 框的settings.xml 中配置的?或者您是否参考了您的本地存储库,并非不可能,但很麻烦?

标签: maven dependencies


【解决方案1】:

您首先不应该复制 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.

【讨论】:

  • 想要为以某种意义击中原始海报而投票:) 想要为这并没有真正回答很多问题而投票:)
  • 好吧,我已经解决了这个问题。问题是在我的 windows 计算机上编译项目时,它使用了一些已下载到我本地存储库的存储库。如果我清理本地存储库并再次编译项目,它也会失败。但是,当我在我的 linux 计算机上编译它时,由于本地存储库中没有相关的存储库,所以它失败了。最后,根本原因是pom文件不正确。
猜你喜欢
  • 1970-01-01
  • 2019-12-14
  • 2017-07-04
  • 2016-03-10
  • 2020-08-27
  • 2014-09-05
  • 1970-01-01
相关资源
最近更新 更多