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/