当前位置: 首页 > 面试题库 >

Maven预下载所有依赖项

皇甫才良
2023-03-14
问题内容

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

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

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


问题答案:

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

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

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

mvn dependency:go-offline

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

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



 类似资料:
  • 在实际使用之前,我试图从maven项目下载所有插件依赖项。 我试过跑步: 这成功地下载了它的插件及其部分依赖项。例如,对于exec插件,我得到: 但是,当您实际使用插件时,例如: 事实证明,它的依赖项尚未完全下载。 这是出乎意料的,因为根据文档,excludeTransitive属性在默认情况下为false(显式设置它没有帮助)。在我看来,它只是从定义的插件下载了一个级别的可传递依赖项。 有没有办

  • 问题内容: 我创建了一个非常简单的默认应用程序,用于在Windows 7计算机上测试Eclipse Indigo / Maven v3.0.1设置。Hello World应用程序可以从Eclipse正常运行。 现在从命令行尝试进行测试。 在这一点上,我看到Maven下载了大量的依赖项。出于某种原因,尽管下载它会停滞不前,但只会部分停止。每次都不在同一时间,但是当前始终是相同的jar文件,例如… h

  • 一个月前,我可以在IntelliJ的基础上从头开始成功地构建Java应用程序,现在,我必须升级spring boot以获得一些新功能。但是,在我将spring boot的版本从2.2.2更改之后。发布到其他版本,然后单击“重新加载所有Maven项目”按钮,我会收到以下消息: 一个月前下载2.2.2还可以。释放。为什么此时更新失败?我的信息如下:MacOS 12.2,捆绑(Maven 3),Java

  • Maven依赖项处理(即下载)是否通过插件完成 Maven是否在秘密使用依赖插件(https://maven.apache.org/plugins/maven-dependency-plugin/)?

  • 我正在尝试在 Docker 容器中构建/部署Spring启动。 如您所见,我用第一个mvn命令缓存了所有的依赖项,这样我的代码应用程序中的每一个变化都不会触发新的大量依赖项下载。它适用于大多数依赖项,但仍有一些需要下载(即使缓存)。这是第二个mvn命令(包)的日志: (顺便说一句,(0 B在0 B / s)有点奇怪...只是一张支票? 如果我基于第一个maven命令之后的步骤启动一个容器(mvn依

  • 我正在eclipse中建立一个项目。此项目通过命令行成功构建(所有、、)等命令都运行良好。同时在STS或Eclipse上设置此项目。我看到有些依赖项没有下载,尽管它们存在于中。但是,在maven存储库中搜索它们,并将jar下载到我的本地计算机,然后将它们添加到构建路径中,就可以在Eclipse上运行。 我们需要对eclipse做什么来确保它从存储库下载所有的依赖项。 我的POM: