2013-03-06 56 views
6

在Eclipse中,您可以將-D選項設置爲包含在IDE設置中其他位置定義的變量。 IntelliJ似乎提供此功能路徑變量。但是,如果您遵循其幫助文檔,則應該能夠在$ dollar_characters $之間引用這些變量。進一步的研究似乎表明,這隻適用於你的項目文件的內部,替換是在編譯期間完成的。使用IntelliJ Path變量,如何在Tomcat服務器中設置系統屬性運行配置?

我正在嘗試創建一個共享服務器配置,其中一些系統屬性可以由其他開發人員交換出來,但是這一個讓我難住了。

回答

4

多挖掘和研究看似無關的問題後,我開始得到如何完成這個照片放大:

  1. 設置你的路徑變量需要。
  2. 創建運行配置您打算共享,並檢查分享複選框。
  3. 在配置的虛擬機選項字段中放入存根(即-Dsystem.property="variable here")。
  4. .idea/runConfigurations中查找您的配置,並用$PATH_VARIABLE$替換存根,如果該值包含空格,則將它們放在引號內。
  5. 重新打開編輯配置屏幕爲您的運行配置並注意變量擴展已成功。更好的是,檢查它並讓同事檢查它(在設置自己的路徑變量後)並且注意可變擴展與自定義值一起工作。

注:它可能看起來像你應該能夠把這些$PATH_VARIABLES$直接到這些配置屏幕,但似乎只如果你直接編輯XML文件的工作。

9

您可以直接在Tomcat服務器運行/調試配置窗口中將您的VM選項添加到VM選項輸入字段來設置您的VM選項。您可以直接將您的-Dcustom_property=value放入該字段,然後通過System.getProperty("customer_property")訪問它。

+0

我想你的意思是System.getProperty(「custom_property」),但不是「customer_property」 – 2017-10-16 11:37:53

2

Joel Wilson,感謝您在IntelliJ配置中使用$ PATH_VARIABLES $的探索。

爲了美化你的發現;我發現如果一個配置文件在文件系統中發生了變化,它就會被IJ重新加載($ PATH_VARIABLES $ get expanded)。但是,如果您在IJ首選項中進行更改,則不會。

但是,如果你:觸摸〜/的IntelliJ/yourProject/.idea/runConfigurations * .XML

這是足有你的配置重新加載。
我還發現,如果您關閉並重新打開IJ,那麼它們也將在當時自動展開。

如果你看看那些。XML文件,擴展值永遠不會被存儲。每次加載IJ或更改文件時都會發生擴展。

如果您想在回購中共享常見配置 - 然後在IJ PATH變量中設置用戶變量,您可以和他們自動擴展。

如果您碰巧更改PATH變量,則新值將包含修改的PATH_VARIABLE內容。

如果您要查看操作系統級別的文件,您會看到保留的變量。但是如果你看看配置編輯器,替代值將始終顯示在那裏(所以你不能直接看到他們使用了一個變量)。最好看一下OS文件。 jim

+0

touch命令爲了讓IntelliJ重新加載配置而做了什麼? – 2016-09-26 11:40:33

+0

剛剛看到這9-10個月後。回覆較晚,抱歉。文件屬性的改變看起來會讓IntelliJ重新加載文件,因爲它在OS上發生了變化。這在Mac上沒有在Windows上進行測試。 – 2017-07-25 18:41:32