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

时间:2015-11-18 14:55:26

标签: java maven

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

  

构建POM时出错(可能不是此项目的POM)

我们在这个项目以及我自己的领导下发现几乎不可能用这些项目确定任何东西,因为事物彼此嵌套在很多层面,没有任何有用的文档。好的是我们要完全重写系统,但是我们仍然需要建立旧系统来维护以及了解我们正在处理的内容。公众无法访问该网站,因此我们无法查看正在制作的内容。

这个问题是由无法访问存储库引起的吗?

有关如何解决此问题以构建构建的任何建议吗?

1 个答案:

答案 0 :(得分:3)

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

在你的情况下,我可能会做如下

  1. Go on site
  2. 清理本地仓库.m2/repository
  3. 运行构建(这次应该没问题)而不安装工件:mvn clean package
  4. 检查本地存储库.m2/repository中显示的内容并保存(没有您可以在异地下载的所有工件),因为稍后将需要此
  5. 现在,当您离开现场时,您可以

    • 使用-o选项离线运行(所有文件都保留在.m2/repository)或
    • 手动安装(通过使用脚本)将您保存的.m2/repository中的所有工件(不包括您可以下载的工件)安装到您的场外工件存储库(例如,Nexus)

    您可能还会创建一个包含所有必需专有依赖项的超级jar,并将其安装为单个黑洞工件。在你的poms中,你可以用这个单独的超级jar替换所有缺少的依赖项,你可能没问题。尽管如此,您可能会遇到内容为META-INF的麻烦。