我需要将我们的maven build java项目发布给远程质量检查团队。为此,我想下载所有依赖项,并发送给他们,这样他们就不需要下载它们了。
当前,所有依赖项都在pom.xml文件中定义,并且我们使用mvn install或mvn包来构建项目。一些项目成员使用uber jars,其他一些项目则使用jars +依赖项来执行。
什么是最简单的方法来预打包相关的jar文件,以使从Internet上没有下载,并且不会对当前的构建过程造成太大的改变?
一种可能的解决方案是清除本地存储库,告诉Maven下载项目的每个依赖项和插件依赖项,并为其做一个ZIP。
要清除本地存储库,您只需删除文件夹即可{user.home}/.m2/repository。然后,您可以使用dependency:go- offline目标:
{user.home}/.m2/repository
dependency:go- offline
解决所有项目依赖关系(包括插件和报告及其依赖关系)的目标。
mvn dependency:go-offline
这将下载项目所依赖的所有内容,并确保在以后的版本中,不会下载任何内容。
然后,您只需制作一个ZIP {user.home}/.m2/repository并将其发送给Q / A团队。他们需要将其解压缩到自己的内部{user.home}/.m2/repository才能构建项目。