如何从Java设置环境变量?

如何从Java设置环境变量?

如何从Java设置环境变量?我看到,我可以对子进程执行以下操作:ProcessBuilder..不过,我有几个子进程要启动,所以我宁愿修改当前进程的环境,让子进程继承它。

有一个System.getenv(String)用于获取单个环境变量。我也能得到一个Map环境变量的完整集合。System.getenv()..但是,打电话put()在这个问题上Map抛出UnsupportedOperationException-很明显,它们意味着只阅读环境。而且,没有System.setenv().

那么,是否有任何方法可以在当前运行的进程中设置环境变量?如果是,怎么做?如果没有,理由是什么?(这是因为这是Java,因此我不应该做一些不可移植的、过时的事情,比如触摸我的环境?)如果没有,有什么好的建议来管理环境变量的变化,我需要为几个子进程提供这些建议吗?


噜噜哒
浏览 2061回答 3
3回答

大话西游666

(这是因为这是Java,因此我不应该做一些不可移植的、过时的事情,比如触摸我的环境?)我想你已经被钉在头上了。减轻负担的一种可能的方法是考虑一种方法。void&nbsp;setUpEnvironment(ProcessBuilder&nbsp;builder)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;Map<String,&nbsp;String>&nbsp;env&nbsp;=&nbsp;builder.environment(); &nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;blah&nbsp;blah}并通过任何ProcessBuilder在开始他们之前。而且,您可能已经知道这一点,但是您可以使用相同的方法启动多个进程。ProcessBuilder..因此,如果您的子进程相同,则不需要一遍又一遍地执行此设置。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java