传递包含空格的 Jvm 属性(通过 -D)
passing Jvm properties (via -D) that contain spaces
我有一个 docker 应用程序,它从命令行在内部运行一个 java jar。我已将 docker 容器设置为通过 "other java options",在这种情况下,我想通过以下内容:
jdk.certpath.disabledAlgorithms=MD2, MD5, RSA keySize < 128, DSA keySize < 128, EC keySize < 128
我希望能够通过 -Djdk.etc 传递它,但空格似乎真的会把事情搞砸。空格 java 抱怨它不知道如何处理 MD5 和更高版本("Error: Could not find or load main class MD5,"。没有空格,我得到关于 keySize<
是未知主 class.
有人可以帮我传递这个参数的正确方法吗?我尝试用引号将整个内容括起来,但结果是一样的。
你应该只包围变量值 -Dvar="a < b"
对我有用。
在这里找到更好的解释:http://mail.openjdk.java.net/pipermail/jmh-dev/2015-March/001768.html
建议的两个选项是。
$ java -jar benchmarks.jar -jvmArgs "-Dx=12 -Dy=\"one two\""
$ java -jar benchmarks.jar -jvmArgs "-Dx=12" -jvmArgs "-Dy=one two"
也用 Maven 尝试了第二个版本。有效。
我有一个 docker 应用程序,它从命令行在内部运行一个 java jar。我已将 docker 容器设置为通过 "other java options",在这种情况下,我想通过以下内容:
jdk.certpath.disabledAlgorithms=MD2, MD5, RSA keySize < 128, DSA keySize < 128, EC keySize < 128
我希望能够通过 -Djdk.etc 传递它,但空格似乎真的会把事情搞砸。空格 java 抱怨它不知道如何处理 MD5 和更高版本("Error: Could not find or load main class MD5,"。没有空格,我得到关于 keySize<
是未知主 class.
有人可以帮我传递这个参数的正确方法吗?我尝试用引号将整个内容括起来,但结果是一样的。
你应该只包围变量值 -Dvar="a < b"
对我有用。
在这里找到更好的解释:http://mail.openjdk.java.net/pipermail/jmh-dev/2015-March/001768.html
建议的两个选项是。
$ java -jar benchmarks.jar -jvmArgs "-Dx=12 -Dy=\"one two\""
$ java -jar benchmarks.jar -jvmArgs "-Dx=12" -jvmArgs "-Dy=one two"
也用 Maven 尝试了第二个版本。有效。