Open Liberty设置含空格系统属性启动报错,求正确配置方法
在Open Liberty中配置带空格的系统属性的正确方法
针对你遇到的带空格系统属性配置失败问题,以下是经过验证的正确配置方式:
方法一:转义空格(适配bash环境)
在jvm.options中直接为空格添加反斜杠转义,无需引号:
-Dtest=value1\ value2
方法二:通过server.env间接配置
- 在服务器目录下创建/编辑
server.env文件,添加变量定义:
TEST_VAL="value1 value2"
- 在
jvm.options中引用该变量:
-Dtest=${TEST_VAL}
方法三:通过server.xml配置
在server.xml中定义变量并传入JVM参数:
<server> <variable name="testValue" value="value1 value2"/> <jvmOptions>-Dtest=${testValue}</jvmOptions> </server>
问题原因说明
你之前的配置失败是因为Open Liberty的bash启动脚本在解析jvm.options时,会将双引号视为参数的一部分而非值的包裹符。例如-Dtest="value1 value2"会被拆分为-Dtest="value1和value2"两个独立参数,导致JVM误将后者识别为主类,抛出ClassNotFoundException。
内容的提问来源于stack exchange,提问作者Rémi
相关产品推荐
相关产品推荐

