IntelliJ Maven Runner配置信任库参数异常求助
解决IntelliJ Maven Runner中SSL信任库参数被合并的问题
问题原因
从生成的命令可以看到,-Djavax.net.ssl.trustStore和-Djavax.net.ssl.trustStorePassword被包裹在同一个引号中,被Maven识别为单个JVM参数。JVM会把整个字符串C:\MyKeystores\my.keystore -Djavax.net.ssl.trustStorePassword=abcd当作信任库路径,自然找不到对应文件。
解决思路
分开输入参数:在IntelliJ的
Settings -> Maven Runner -> VM Options中,将每个-D参数单独占一行:-Djavax.net.ssl.trustStore=C:\MyKeystores\my.keystore -Djavax.net.ssl.trustStorePassword=abcd这样IntelliJ会将每个参数独立处理,生成的命令中两个参数会分开,不会被合并到同一个引号块内。
验证命令格式:修改后运行Maven,检查生成的命令是否符合预期。正确的命令应该是两个
-D参数分别独立,类似:cmd.exe /c "C:\dev\programs\maven\apache-maven-3.9.9\bin\mvn.cmd -Didea.version=2025.2 "-Dmaven.ext.class.path=C:\Program Files\JetBrains\IntelliJ IDEA\plugins\maven\lib\maven-event-listener.jar" -Djansi.passthrough=true -Dstyle.color=always -Djavax.net.ssl.trustStore=C:\MyKeystores\my.keystore -Djavax.net.ssl.trustStorePassword=abcd com.my:super-plugin:1.2.3:generate-stubs"改用Maven Settings配置:如果上述方法仍有问题,可以将SSL参数配置到Maven的
settings.xml文件中:<profiles> <profile> <id>ssl-truststore-config</id> <properties> <javax.net.ssl.trustStore>C:\MyKeystores\my.keystore</javax.net.ssl.trustStore> <javax.net.ssl.trustStorePassword>abcd</javax.net.ssl.trustStorePassword> </properties> </profile> </profiles> <activeProfiles> <activeProfile>ssl-truststore-config</activeProfile> </activeProfiles>配置后,IntelliJ会自动读取这些参数,无需在VM Options中手动输入,避免格式错误。
内容的提问来源于stack exchange,提问作者Philipp Schneider
相关产品推荐
相关产品推荐

