maven - Jenkins 存储库位置

标签 maven jenkins

Jenkins 在构建 Maven 项目时使用哪个存储库位置?我选择了Default (~/.m2/repository)配置 Jenkins 时的选项,但行为似乎有点不同。虽然在我的本地存储库中存在这个 myown.jar,即在 /home/username/.m2 中,它显示找不到 myown.jar 的错误。所以我必须为此 myown 建立一份工作项目,构建它,然后错误得到解决。

不仅如此,当我将 Jenkins 脚本放入启动时即 /usr/bin/java -jar <warpath>.war ,它在构建它时再次下载了我项目的所有依赖项,尽管在将脚本启动之前我已经构建了 5 次配置的项目!!这不是很奇怪的行为吗? Jenkins 使用哪个存储库位置?还是我可能遗漏了什么?

最佳答案

实际上这取决于每个单独的 maven 项目的配置。默认情况下,如果您通过勾选自动安装复选框安装 maven,Jenkins 将使用本地存储库 JENKINS_HOME_DIR/.m2/repository,否则它将使用本地/home/username/.m2/repository。

但是您可以通过在 ~/.m2/settings.xml 中设置 settings.xml 文件来更改此默认位置

对于全局使用,您可以从 jenkins_home_dir/conf 更改它

例如,如果您通过勾选“自动安装”复选框来安装 maven

Step1. 在 jenkins 主目录中为特定项目选择 maven 安装

$ cd Jenkins_home_dir/tools/hudson.tasks.Maven_MavenInstallation/

第 2 步。 更改 settings.xml 中的 localRepository

settings.xml 的层次结构是用户 .m2 目录,如果找不到,它将尝试在 {maven home}/conf/settings.xml 中找到那个

关于maven - Jenkins 存储库位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21777311/

相关文章:

java - 在crxde中自动安装bundle的问题

java - 如何检测我的测试是否在 Jenkins 环境中运行?

jenkins - jclouds 与 GCE 无法连接 : -----END RSA PRIVATE KEY----- doesn't contain % line [-----END ]

Jenkins 声明式管道动态选择参数在首次构建后不会更新

node.js - npm 任务中的路径通配符(Windows 与 Linux)

java - 计算目录中 MP4 文件的总持续时间时出现 SLF4J 问题

maven - 如何在 Maven 中设置特定的部署顺序?

shell - Jenkins 将 shell 输出保存到 var

linux - 在 jenkins gerrit 触发器中添加 ssh key 文件 : "/...../.ssh/id_rsa" does not exist

java - 是否必须安装 Ant 才能运行 Maven 的 maven-antrun-plugin?