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

qhhrdooz  于 2022-11-07  发布在  其他
关注(0)|答案(2)|浏览(133)

我正在尝试将一些已经存在的eclipse项目迁移到intellij中。以前我在eclipse中的服务器的jvm设置中设置了keystore/truststore,它们被正确识别。下面是我需要的参数。

-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正确地解析了?谢谢。

igetnqfo

igetnqfo1#

试试看:

-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参数都用双引号括起来。

3hvapo4f

3hvapo4f2#

假设$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

相关问题