我正在使用由我的java應用程序執行的set
和setx
在.bat文件中設置一個環境變量。告訴eclipse重新加載環境變量
但是,下一次運行我的應用程序時,環境變量已恢復到舊值 - 我必須重新啓動Eclipse才能使更改生效。
如何告訴eclipse每次運行我的應用程序時重新加載環境變量?
我正在使用由我的java應用程序執行的set
和setx
在.bat文件中設置一個環境變量。告訴eclipse重新加載環境變量
但是,下一次運行我的應用程序時,環境變量已恢復到舊值 - 我必須重新啓動Eclipse才能使更改生效。
如何告訴eclipse每次運行我的應用程序時重新加載環境變量?
用「set」設置的環境變量是爲當前進程及其子進程設置的。如果你離開這個過程,這些值就會丟失。
「setx」命令在系統環境中設置環境變量。但是隻有在重新啓動時纔會將值讀入進程中。所以eclipse仍然有舊的環境變量,並且啓動的進程會繼承這些變量。
那麼有沒有辦法解決它? – jhasse
AFAIK無法更改父進程的環境設置。 –
你可以退出並開始你的eclipse而不是重新啓動它。它應該工作得很好。
「退出並啓動」與「重新啓動」完全相同嗎? – jhasse
我以爲是。但是當我重啓eclipse時,顯然eclipse沒有爲我重新加載環境變量。您可以嘗試使用eclipse的內置終端運行該命令並查看它是否可用。我退出日食,然後再次啓動它,它工作。 –
我是否正確?你的程序執行一個包含在你的Eclipse項目中的批處理文件,當你用你的環境變量的新值更新批處理文件時,它在運行你的程序時似乎沒有按預期工作。 – Laf
批處理文件本身更新環境變量。 – jhasse