为了账号安全,请及时绑定邮箱和手机立即绑定

如何从Java设置环境变量?

如何从Java设置环境变量?

噜噜哒 2019-06-06 13:06:53
如何从Java设置环境变量?如何从Java设置环境变量?我看到,我可以对子进程执行以下操作:ProcessBuilder..不过,我有几个子进程要启动,所以我宁愿修改当前进程的环境,让子进程继承它。有一个System.getenv(String)用于获取单个环境变量。我也能得到一个Map环境变量的完整集合。System.getenv()..但是,打电话put()在这个问题上Map抛出UnsupportedOperationException-很明显,它们意味着只阅读环境。而且,没有System.setenv().那么,是否有任何方法可以在当前运行的进程中设置环境变量?如果是,怎么做?如果没有,理由是什么?(这是因为这是Java,因此我不应该做一些不可移植的、过时的事情,比如触摸我的环境?)如果没有,有什么好的建议来管理环境变量的变化,我需要为几个子进程提供这些建议吗?
查看完整描述

3 回答

?
大话西游666

TA贡献1817条经验 获得超14个赞

(这是因为这是Java,因此我不应该做一些不可移植的、过时的事情,比如触摸我的环境?)

我想你已经被钉在头上了。

减轻负担的一种可能的方法是考虑一种方法。

void setUpEnvironment(ProcessBuilder builder) {
    Map<String, String> env = builder.environment();
    // blah blah}

并通过任何ProcessBuilder在开始他们之前。

而且,您可能已经知道这一点,但是您可以使用相同的方法启动多个进程。ProcessBuilder..因此,如果您的子进程相同,则不需要一遍又一遍地执行此设置。


查看完整回答
反对 回复 2019-06-06
  • 3 回答
  • 0 关注
  • 2057 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信