传递包含空格的Jvm属性(通过-D)

时间:2017-07-27 16:34:40

标签: java jvm-arguments

我有一个docker应用程序,它从命令行运行java jar。我已经设置了docker容器来传递“其他java选项”,在这种情况下我想传递以下内容:

jdk.certpath.disabledAlgorithms=MD2, MD5, RSA keySize < 128, DSA keySize < 128, EC keySize < 128

我希望能够通过-Djdk.etc传递它,但这些空间似乎真的让人失望。使用空间java抱怨它不知道如何处理MD5及更高版本(“错误:无法找到或加载主类MD5”。没有空格,我得到关于keySize<是未知主要的错误类。

有人可以帮我正确传递此参数吗?我试过在引号中包围整个事情但结果是一样的。

2 个答案:

答案 0 :(得分:2)

您应该只包含变量值-Dvar="a < b"

答案 1 :(得分:0)

在这里找到了更好的解释: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尝试了第二版。它正在工作。