2017-02-12 70 views
2

我使用的IntelliJ IDEA和Grails的爲我的應用程序框架。 我的應用程序主要是在Groovy上。創建自定義參數的Grails應用程序的配置

我想添加外部定製參數作爲外部參數,以我的應用程序。

我已經打開編輯配置...和嘗試不同的方法在VM選項添加自定義的參數,以及程序參數內,但沒有成功。

下面是一個例子,一個試試我做:

我加

-Dcustom.arg=100 

到虛擬機的選項。

我想知道是否有可能通過使用應用程序配置?如果是的話,應該怎樣做才能注入外部變量?

+0

請顯示確認VM選項無效的Groovy代碼。 – CrazyCoder

+0

有沒有groovy代碼確認VM選項不起作用。該應用程序已啓動並正在運行,但我沒有得到值爲100的arg鍵。 – Rotem

+0

您使用什麼代碼知道它沒有獲得JVM選項? – CrazyCoder

回答

4

應該通過增加一個新的程序參數來編輯配置來實現 - >程序參數

只需添加自定義的參數,如新價值:externalArg

而在應用程序代碼中,發現讀這些屬性的部分。

例如:

Properties props = System.properties 
String propValue = props.get("sun.java.command").toString() 

的propValue包含了所有的程序參數和具體情況,你插入了externalArg參數。

另一個選項可以通過將變量插入編輯配置 - > VM選項來完成。當使用Grails,參數應該看起來像:

-Dgrails.externalVariable=3 

讀取應用程序內的externalVariable被完成:

Object externalVariable = System.getProperties().get("grails.externalVariable") 

注意: 這兩方面的2個選項給出相同的結果。 使用每個選項都應與變量概念相關。 如果你希望有externalVariable作爲程序參數插入參數到程序參數。 如果你希望有externalVariable作爲虛擬機參數插入參數到VM選項