预下载所有依赖项
我需要将我们的 Maven 构建 Java 项目发布给远程 QA 团队。为此,我想下载所有依赖项,并发送它们,以便它们不需要下载它们。
目前,所有依赖项都在文件中定义,我们使用 或 来构建项目。一些项目成员使用uber jar,另一些使用jars +依赖项来执行。pom.xml
mvn install
mvn package
预打包依赖的jar文件的最简单方法是什么,这样就不会从互联网上下载,也不会对我们当前的构建过程进行太大的更改?
我需要将我们的 Maven 构建 Java 项目发布给远程 QA 团队。为此,我想下载所有依赖项,并发送它们,以便它们不需要下载它们。
目前,所有依赖项都在文件中定义,我们使用 或 来构建项目。一些项目成员使用uber jar,另一些使用jars +依赖项来执行。pom.xml
mvn install
mvn package
预打包依赖的jar文件的最简单方法是什么,这样就不会从互联网上下载,也不会对我们当前的构建过程进行太大的更改?
一个可能的解决方案是清除你的本地存储库,告诉Maven下载项目的每个依赖项和插件依赖项,并创建一个ZIP。
要清除本地存储库,您只需删除文件夹即可。然后,您可以使用依赖关系:转到脱机
目标:{user.home}/.m2/repository
解决所有项目依赖项(包括插件和报告及其依赖项)的目标。
mvn dependency:go-offline
这将下载项目所依赖的所有内容,并确保在以后的版本中不会下载任何内容。
然后,您只需制作一个ZIP并将其发送给您的Q / A团队即可。他们需要将其解压缩到自己的内部才能构建项目。{user.home}/.m2/repository
{user.home}/.m2/repository
可以通过创建具有完整依赖项的独立 jar 文件来完成您的要求。您可以将其移植到任何地方,请参阅 https://stackoverflow.com/a/35359756/5678086
从那里运行以下命令
mvn install:install-file -Dfile=<path-to-file>
这将在目标计算机的 maven 存储库中安装依赖项。这是完全脱机的