【问题标题】:Building a Maven project offline离线构建一个Maven项目
【发布时间】:2018-11-14 17:53:30
【问题描述】:

我正在尝试安装 OreKit(一个轨道力学工具包)来验证我编写的一些代码。 Orekit 是一个 maven 项目,因此它尝试从 maven repo 下载其所有依赖项。

不幸的是,我的公司有非常严格的互联网安全措施,而且 maven 存储库没有被列入白名单。访问非白名单网站的唯一方法是通过安全浏览器 (tightGate),它基本上是在服务器上运行的浏览器的视频源。然后可以使用单独的程序将在此浏览器中下载的文件传输到我的计算机。

这当然意味着构建失败。我一直在尝试手动下载所有依赖项并将它们放在本地存储库中。

示例: eclipse 错误:“缺少工件 junit:junit:jar:4.12”

我下载了对应的jar和pom文件(junit-4.12.jar和junit-4.12.pom),放到我的本地仓库(C:/Users//.m2/repository/junit/junit/4.12/) 我为每个报告的错误 eclipse 都这样做了,但没有任何变化,同样的错误仍然存​​在。

我在这里做错了吗?是否有可能以这种方式构建项目,还是我应该放弃?

【问题讨论】:

  • 仅仅将它们放入存储库是不够的,看看mvn install
  • 如果您需要重复执行此操作,最好安装本地存储库服务器(例如 Sonatype Nexus 或 JFrog Artifactory),该服务器可以从 Internet 下载列入白名单的软件包,或者通过以下方式手动完成管理员。

标签: java maven


【解决方案1】:

原则上,这可以工作,但将mvn install:install-file 用于单独的 jar 会更容易。

请注意,Maven 通常需要 > 100 个工件。

我们也有严格的规定,但设法获得了一个带有代理 MavenCentral 的 Nexus 的额外服务器,因此我们可以通过那里访问工件。

【讨论】:

  • 我目前正在尝试执行 mvn install:install-file -o -Dfile="path to jar file" -DpomFile="path to pom file" 但这给了我同样的错误。有没有办法查看我可以先安装哪些文件?我知道我将不得不以这种方式安装很多文件,但无论如何,只要等待 IT 服务帮助我解决这个问题就不会花费很长时间......
  • 真正尝试在 Eclipse 中构建项目很重要,例如与clean package。构建的控制台输出是“真实的”情况 - 在 Eclipse IDE 中以红色气泡显示的缺失依赖项可能是真实的,也可能不是真实的。
  • 感谢您的帮助!幸运的是,我似乎不是第一个抱怨这一点的人,他们愿意将 maven 存储库列入白名单,所以我希望很快就能以正常方式构建它!
【解决方案2】:

要将 jar 文件放入本地 maven 存储库,您必须安装它。

    mvn install:install-file -Dfile=<path-to-file> -DgroupId=<group-id> \
    -DartifactId=<artifact-id> -Dversion=<version> -Dpackaging=<packaging>

https://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html获取更多信息

【讨论】:

  • 您应该在答案中添加安装的必要步骤
猜你喜欢
  • 1970-01-01
  • 2020-10-10
  • 2018-02-12
  • 2014-07-05
  • 2012-05-26
  • 2011-03-23
  • 1970-01-01
  • 1970-01-01
  • 2017-02-20
相关资源
最近更新 更多