settings.xml 中的 Maven 命令行参数

Maven Command Line Args in the settings.xml

下午好,

我正在尝试找出是否有可能在 Settings.xml 中外包命令行参数。

我不能使用 MAVEN_OPTS Env-Var 和 .mavenrc 文件,但我需要在每个项目中进行设置。重要的是不要使用安装后未包含的插件(与存储库连接需要设置)。

设置:

 -Djavax.net.ssl.trustStore=VALUE
 -Djavax.net.ssl.trustStorePassword=VALUE
 -Djavax.net.ssl.keyStore=VALUE
 -Djavax.net.ssl.keyStorePassword=VALUE
 -Djavax.net.ssl.keyStoreType=VALUE
 -Dmaven.wagon.http.ssl.insecure=VALUE
 -Dmaven.wagon.http.ssl.allowall=VALUE
 -Dmaven.wagon.http.ssl.ignore.validity.dates=VALUE

我希望我没有忽略一些显而易见的事情... 提前致谢, LocXar

EDIT-1:Maven 版本:Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-10T17:41:47+01:00)

EDIT-2:我试过这样,但它不起作用:<javax.net.ssl.trustStore>VALUE</javax.net.ssl.trustStore>

在我看来,您可以使用以下属性在 Maven 设置配置文件中定义所有参数: https://maven.apache.org/settings.html#Profiles

如果您想为 Maven 本身使用特殊配置元素(例如:-T3 ..),最好使用 ${maven.projectBasedir}/.mvn/maven.config。此外,您可以通过 ${maven.projectBasedir}/.mvn/jvm.config 为 JVM 使用东西,这意味着在您的情况下,您应该使用具有以下内容的 jvm.config

-Djavax.net.ssl.trustStore=VALUE
-Djavax.net.ssl.trustStorePassword=VALUE
-Djavax.net.ssl.keyStore=VALUE
-Djavax.net.ssl.keyStorePassword=VALUE
-Djavax.net.ssl.keyStoreType=VALUE
-Dmaven.wagon.http.ssl.insecure=VALUE
-Dmaven.wagon.http.ssl.allowall=VALUE
-Dmaven.wagon.http.ssl.ignore.validity.dates=VALUE

所以你可以把它放在你的项目中并在你的项目中签入它。所以这使得 .mavenrcMAVEN_OPTS 变得多余。这记录在 Release Notes for Maven 3.3.1.

但我不得不说您喜欢设置上述系统属性我得到的印象是您想忽略 https 连接中的证书,这是没有意义的。