是否可以在Eclipse中安装的JRE的默认虚拟机参数中使用字符串替换变量?

问题描述:

在Eclipse Luna中,当我转到Window -> Preferences -> Java -> Installed JREs -> Edit时出现的对话框使我看起来应该能够在Default VM Arguments框中使用字符串替换变量,但是如果我尝试这样做,那么参数似乎不正确解析。这只是一个错误还是我误解了一些东西?是否可以在Eclipse中安装的JRE的默认虚拟机参数中使用字符串替换变量?

举例来说,如果我有在默认VM参数如下:
-Xmx8000m ${JRE_PARAMS}

而在字符串替换窗口JRE_PARAMS值:
[email protected] -Dservice.url=http://machine:8091/some/service

当JVM启动和我请致电System.getProperty("testEmailAddress"),返回的值为[email protected] -Dservice.url=http://machine:8091/some/service,并且(不奇怪)没有service.url的属性条目。

更新:尽管下面的answer given by copeg可以在Windows上运行在Juno上,但它似乎不适用于Mac上的Luna。任何人都知道如何在Mac上跳过斜杠?

在字符串替换窗口,用引号括每个参数:

"[email protected]" "-Danother.property=val2" 

工程在Eclipse朱诺

+0

这似乎为电子邮件地址属性的工作,但不是当值是一个URL - 它将其转换为'“-Dservice.url = http:.. machine:8091.some.service”'。我已经改变了这个问题,以包含一个URL值的属性来反映这一点。任何猜测? –

+0

当使用引号时,URL可以正常工作:'System.getProperty(“service.url”)'返回'http:// machine:8091/some/service'(通过将属性值打印到命令行进行测试)。还尝试了其他类似成功的URL。 – copeg

+0

这似乎是Luna的回归或潜在的平台差异。你在使用什么操作系统?我在Mac上。鉴于被乱码的字符是斜杠,Eclipse可能会尝试将文本解析为路径,而不是将其作为字符串传递。 –