【问题标题】:Maven missing project required libraries after cloning repo克隆 repo 后 Maven 缺少项目所需的库
【发布时间】:2012-04-22 23:47:23
【问题描述】:

一位团队成员在 bitbucket 上与我分享了他的项目,他使用 maven 来管理他的依赖项。将 repo(使用 mercurial)克隆到我的工作区(Eclipse)并下载 maven、m2e 和所有其他必需的设置文件后,我能够获得除 4 之外的所有项目库。

下载项目后,我运行了几个mvn 命令来清理、安装并希望下载这些丢失的 jar。当我运行mvn -e 命令时,我得到了这个无济于事的长错误。我是否必须找到并下载这 4 个 jar 并将它们放入我的 maven repo 中?

命令输出:mvn -e

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 23.769s
[INFO] Finished at: Mon Apr 09 17:42:17 CDT 2012
[INFO] Final Memory: 4M/15M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project Dugsi_Manager: Could not resolve depen
dencies for project org.bixin.dugsi:Dugsi_Manager:war:0.1.0.BUILD-SNAPSHOT: The
following artifacts could not be resolved: org.eclipse.persistence:eclipselink:j
ar:2.2.0, org.eclipse.persistence:javax.persistence:jar:2.0.3, org.vaadin:icepus
h-gwt:jar:0.1.2, org.jqurantree:jquran:jar:1.0.0: Could not find artifact org.ec
lipse.persistence:eclipselink:jar:2.2.0 in spring-maven-release (http://maven.sp
ringframework.org/release) -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e swit
ch.

[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]

编辑:

我只需要与克隆我的项目的所有其他团队成员共享我的本地存储库。不使用 maven 的外部 jar 必须手动安装到我的本地 repo 中,这会产生问题,因为我无法共享我的本地 repo?任何想法

【问题讨论】:

  • 问问你的同事他的settings.xml文件中是否有一些存储库配置?
  • 听起来他手动将一些库安装到他的本地存储库中,或者正在使用 Maven-Central 以外的工件(可能是私有的),它没有在 POM 文件中配置。
  • @LaurensHolst 你可能是对的,我提到的同事只使用 mvn install 命令将最后两个 jar 添加到他的本地存储库中。这两个罐子是外部罐子,如果是这种情况,这些罐子应该如何定义?

标签: maven mercurial jar project m2e


【解决方案1】:

您可以将这些 JAR 安装在本地存储库中,或者设置一个自己的(可能是私有的)maven 存储库以与您的团队共享。 Sonatype 提供了Nexus OSS 一个基于开源的软件,可以轻松设置存储库(如果您愿意,也可以代理远程存储库)。

【讨论】:

  • 存储库是托管在 nexus 还是我的 localhost 机器上。如果是后者,这对我离线时想要尝试下载依赖项的其他团队成员有何影响?
  • 需要托管连接,以便每个团队成员都可以访问它。这样您就可以集中管理第三方依赖项。
  • 你有没有一个示例说明在配置了基于 nexus OSS 的 repo 后 pom.xml 文件的外观。我对此感到非常困惑,因为该软件带有需要启动的 Jetty 服务器,但我不知道当我离线时其他人将如何访问这些文件。同样,我没有为这种类型的环境准备好服务器,只是一小群开发人员。是否有其他选项可以将本地 repo 嵌入到 lib 目录中?
  • 如果没有可访问的专用服务器,这是行不通的。 Maven 只是不适合与不是来自(各种)存储库之一的外部库一起使用。不要试图在这方面与 maven 抗争。最后,你会松懈的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-08-06
  • 1970-01-01
  • 1970-01-01
  • 2020-03-08
  • 2021-04-11
  • 2022-12-18
相关资源
最近更新 更多