2011-12-13 25 views
5

我正在使用由我的java應用程序執行的setsetx在.bat文件中設置一個環境變量。告訴eclipse重新加載環境變量

但是,下一次運行我的應用程序時,環境變量已恢復到舊值 - 我必須重新啓動Eclipse才能使更改生效。

如何告訴eclipse每次運行我的應用程序時重新加載環境變量?

+0

我是否正確?你的程序執行一個包含在你的Eclipse項目中的批處理文件,當你用你的環境變量的新值更新批處理文件時,它在運行你的程序時似乎沒有按預期工作。 – Laf

+0

批處理文件本身更新環境變量。 – jhasse

回答

3

用「set」設置的環境變量是爲當前進程及其子進程設置的。如果你離開這個過程,這些值就會丟失。

「setx」命令在系統環境中設置環境變量。但是隻有在重新啓動時纔會將值讀入進程中。所以eclipse仍然有舊的環境變量,並且啓動的進程會繼承這些變量。

+1

那麼有沒有辦法解決它? – jhasse

+0

AFAIK無法更改父進程的環境設置。 –

0

你可以退出並開始你的eclipse而不是重新啓動它。它應該工作得很好。

+0

「退出並啓動」與「重新啓動」完全相同嗎? – jhasse

+0

我以爲是。但是當我重啓eclipse時,顯然eclipse沒有爲我重新加載環境變量。您可以嘗試使用eclipse的內置終端運行該命令並查看它是否可用。我退出日食,然後再次啓動它,它工作。 –