好的,我知道出了什么问题。
Maven 从 Jenkins 运行时从不同的位置获取用户设置,而不是从命令行运行时。
从 Jenkins 运行时,我可以在日志文件中看到这一行:
[DEBUG] Reading global settings from C:\Maven\apache-maven-3.1.0\conf\settings.xml
[DEBUG] Reading user settings from C:\.m2\settings.xml
[INFO] Scanning for projects...
当我从命令行运行 mvn 命令时,我看到了这个:
[DEBUG] Reading global settings from C:\Maven\apache-maven-3.1.0\bin\..\conf\settings.xml
[DEBUG] Reading user settings from C:\Users\<MyUserName>\.m2\settings.xml
[DEBUG] Using local repository at C:\Users\<MyUserName>\.m2\repository
问题是我在公司防火墙后面,所以当从 Jenkins 运行时,它无法下载依赖项。我的C:\Users\<MyUserName>\.m2
目录中有一个 settings.xml 文件,其中包含代理服务器解决此问题的详细信息。
我将 settings.xml 复制到C:\.m2
目录中,嘿,现在它可以下载依赖项并构建项目了。
我想我唯一的问题是为什么 Jenkins Maven 插件不使用与 Maven 相同的 .m2 目录位置,但这是我现在需要处理的一个单独问题。