如何使用特殊字符和空格设置intellij服务器jvm参数

问题描述 投票:0回答:2

我正在尝试将一些预先存在的 Eclipse 项目迁移到 intellij 中。以前我在 Eclipse 中的服务器的 jvm 设置中设置了密钥库/信任库,并且它们可以正确识别。以下是我需要的论据。

-Djavax.net.ssl.keyStore=D:\temp\keystore-truststore\keystore.ks
-Djavax.net.ssl.trustStore=D:\temp\keystore-truststore\trustStore.jks
-Djavax.net.ssl.trustStorePassword=password
-Djavax.net.ssl.keyStorePassword="DxI]L*@[;!U GxE?Ab,7h6/0su!" (this is just an example, not the one I'm using)

上述测试设置在eclipse中工作,我可以启动服务器并与远程主机进行相互身份验证。但是,当我尝试在 intellij 本地服务器配置的 VM 选项中设置相同的设置时,会发生以下异常。

=DxI]L*@[ was unexpected at this time.

服务器无法启动。

根据intellij配置指南,我转义了双引号,使用双引号来转义keyStorePassword的空格,但服务器仍然无法启动。以下是我尝试过的几个选项,但都不起作用。

-Djavax.net.ssl.keyStorePassword=\"DxI]L*@[;!U" "GxE?Ab,7h6/0su!\"
-Djavax.net.ssl.keyStorePassword=\""DxI]L*@[;!U GxE?Ab,7h6/0su!"\"
\"-Djavax.net.ssl.keyStorePassword="DxI]L*@[;!U GxE?Ab,7h6/0su!"\"

我还尝试直接在服务器配置中添加上述配置(在我的例子中它是jboss 5.1.0 GA,因此我在run.conf.bat中添加了这些行),但它没有被选中。

我想知道用特殊字符/空格转义密码的适当方法是什么,以便intellij可以正确解析它?谢谢。

java intellij-idea jvm arguments special-characters
2个回答
0
投票

试试这个:

-Djavax.net.ssl.keyStore=D:\temp\keystore-truststore\keystore.jks
-Djavax.net.ssl.trustStore=D:\temp\keystore-truststore\trustStore.jks
-Djavax.net.ssl.trustStorePassword=password
"-Djavax.net.ssl.keyStorePassword=DxI]L*@[;!U GxE?Ab,7h6/0su!"

基本上,整个 VM 参数都用双引号括起来。


0
投票

你可以尝试这个,假设 $JAVA_HOME 在那里:

sudo $JAVA_HOME/bin/keytool -import -file my_root_ca.crt -alias my_root_ca -storepass changeit -trustcacerts -keystore ${JAVA_HOME}/jre/lib/security/cacerts
© www.soinside.com 2019 - 2024. All rights reserved.