gpt4 book ai didi

java - 当存储库不再可用时,Maven 可以使用本地 jar 进行构建吗?

转载 作者:行者123 更新时间:2023-12-01 21:59:42 25 4
gpt4 key购买 nike

几周前我们获得了一个项目。之前的团队已经离开,我们不会在存储库所在的地方工作。我们已经获得了开发人员虚拟机的虚拟机,其中包含几乎所有代码。如果我们去现场运行构建脚本,所有项目都将构建,但尝试仅在虚拟机上构建时,只有部分项目会构建。无法在客户位置之外访问已设置的 Maven 存储库。我一直在尝试让项目在虚拟机中构建,但不断遇到此消息

Error building POM (may not be this project's POM)

我们这个项目的领导以及我自己发现几乎不可能确定这些项目的几乎任何内容,因为事物相互嵌套在多个级别中,没有任何有用的文档。好事是我们将对系统进行完全重写,但我们仍然需要构建旧系统,以便维护并了解我们正在处理的内容。该网站不对公众开放,因此我们无法查看正在制作的内容。

此问题是否是由于无法访问存储库引起的?

关于如何解决此问题以进行构建有什么建议吗?

最佳答案

根据这个答案,看起来是由于缺少依赖项引起的:fatal error - error building POM (may not be this project's POM)

对于你的情况,我可能会这样做

  1. 前往现场
  2. 清理本地存储库 .m2/repository
  3. 运行构建(这次应该没问题)而不安装 Artifact :mvn clean package
  4. 检查本地存储库 .m2/repository 中出现的内容并保存(不包括您可以在场外下载的所有 Artifact ),因为您稍后会需要它

现在,当您不在现场时,您可以

  • 使用 -o 选项离线运行(同时所有文件仍保留在 .m2/repository 中)或
  • 手动(可能使用脚本)将您保存的 .m2/repository 中的所有 Artifact (不包括您可以下载的 Artifact )安装到您的异地 Artifact 存储库(例如 Nexus)

您还可以创建一个包含所有必需专有依赖项的 uber jar,并将其安装为单个黑洞 Artifact 。在你的 poms 中,你可以用这个 uber jar 替换所有缺少的依赖项,这样就可以了。不过,在执行此操作时,您可能会遇到 META-INF 内容的麻烦。

关于java - 当存储库不再可用时,Maven 可以使用本地 jar 进行构建吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33783272/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com