2009-04-14 128 views
1

服務器從Windows 2000升級到Windows 2003,現在我無法從Ant構建腳本訪問環境變量。操作系統升級後無法從ANT訪問env vars

我仍然可以從命令行訪問它們,但例如${env.JAVA_HOME}失敗。

如何解決這個問題而不重寫〜100個構建腳本可以在所有其他服務器上工作,以便爲此服務器定製?

+0

我沒有修正win2003不允許ant訪問環境變量,但是向ANT_OPTS env var添加-Denv.PROPERTY_NAME =%PROPERTY_NAME%所有需要訪問的變量作爲變通方法 – Tristan 2009-04-14 16:56:42

+0

I在Linux機器上有同樣的問題。變量已設置,但未導出... – givanse 2010-05-30 20:31:29

回答

0

不幸的是我不認爲你應該使用這個環境變量。爲了解決這些問題,您可以使用內置的${java.home},這不依賴於正確設置的操作系統和/或用戶環境。 (請參閱the Ant manual討論Ant中的內置屬性。)

您可以通過(1)手動設置JAVA_HOME環境變量或(2)修改ant.bat來重寫所有構建腳本文件來手動分配它。這兩個選項都很脆弱,因爲Java升級時它們會中斷,但至少它們可能會很快失敗。

相關問題