由于无法识别“--settings”选项,Maven 构建失败

mxc*_*xcd 13 java maven

在我使用 Maven 构建的 Java 项目中,我有一个.mvn包含maven.config文件的目录。该文件的内容如下:

--settings ./.mvn/local-settings.xml
Run Code Online (Sandbox Code Playgroud)

local-settings.xml保存用于从私有注册表中提取的身份验证凭据。
直到昨天,这个设置都运行良好。现在,CI 构建(使用maven:3-amazoncorretto-17)失败并显示以下错误消息:

Unable to parse maven.config file options: Unrecognized option: --settings ./.mvn/local-settings.xml
Run Code Online (Sandbox Code Playgroud)

maven我用于构建的图像是否发生了重大变化?

mxc*_*xcd 41

随着 的引入maven 3.9,出现了一个影响文件解析的重大更改maven.config
https ://maven.apache.org/docs/3.9.0/release-notes.html#pottially-writing-core-changes

现在,每一行都.mvn/maven.config被解释为一个参数。也就是说,如果文件包含多个参数,那么现在必须将这些参数放在单独的行上,请参阅MNG-7684

正如 @khmarbaise 在评论中指出的那样,在工作中添加换行符maven.config就可以了,甚至可以向下兼容。

--settings
./.mvn/local-settings.xml
Run Code Online (Sandbox Code Playgroud)

重要提示:后面不能有空格--settings


小智 6

还注意到-s./.mvn/settings.xml没有任何空间也可以工作

  • 这并没有提供问题的答案。一旦您拥有足够的[声誉](https://stackoverflow.com/help/whats-reputation),您将能够[对任何帖子发表评论](https://stackoverflow.com/help/privileges/comment);相反,[提供不需要询问者澄清的答案](https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-c​​an-我-做-相反)。- [来自评论](/review/late-answers/34067312) (2认同)