一尘不染

Maven预下载所有依赖项

java

我需要将我们的maven build java项目发布给远程质量检查团队。为此,我想下载所有依赖项,并发送给他们,这样他们就不需要下载它们了。

当前,所有依赖项都在pom.xml文件中定义,并且我们使用mvn install或mvn包来构建项目。一些项目成员使用uber
jars,其他一些项目则使用jars +依赖项来执行。

什么是最简单的方法来预打包相关的jar文件,以使从Internet上没有下载,并且不会对当前的构建过程造成太大的改变?


阅读 335

收藏
2020-12-03

共1个答案

一尘不染

一种可能的解决方案是清除本地存储库,告诉Maven下载项目的每个依赖项和插件依赖项,并为其做一个ZIP。

要清除本地存储库,您只需删除文件夹即可{user.home}/.m2/repository。然后,您可以使用dependency:go- offline目标:

解决所有项目依赖关系(包括插件和报告及其依赖关系)的目标。

mvn dependency:go-offline

这将下载项目所依赖的所有内容,并确保在以后的版本中,不会下载任何内容。

然后,您只需制作一个ZIP {user.home}/.m2/repository并将其发送给Q /
A团队。他们需要将其解压缩到自己的内部{user.home}/.m2/repository才能构建项目。

2020-12-03