2015-05-21 54 views
1

在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上跳過斜槓?

回答

0

在字符串替換窗口,用引號括每個參數:

"[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可能會嘗試將文本解析爲路徑,而不是將其作爲字符串傳遞。 –

相關問題