【问题标题】:Setting Shell Environment Variables from Within a Process from Java on Linux在 Linux 上从 Java 进程中设置 Shell 环境变量
【发布时间】:2012-03-20 17:57:32
【问题描述】:

如果我有一个需要设置特定环境变量的 java 应用程序,但我不能将它们放在 bash.rc 或 bash_profile 中,也不能将它们放在 /etc/profile.d 中,是否可以设置它们在Java进程中?还是需要在运行 java 进程之前设置这些?每次手动设置它们也不是一种选择,因为我希望它们对用户透明。

【问题讨论】:

标签: java linux environment-variables


【解决方案1】:

从 shell 脚本启动 java 进程。该脚本将首先定义和导出环境变量。

【讨论】:

    【解决方案2】:

    我怀疑这是不可能的。 System.getenv() 是一个不可修改的映射,这意味着你不能修改其中的元素。

    【讨论】:

    • 他可以使用 ProcessBuilder 设置环境变量 - 请参阅我在帖子中放置的链接以及“可能重复”的评论
    【解决方案3】:

    Environment Variables

    对于设置环境变量,ProcessBuilder

    【讨论】:

      【解决方案4】:

      你试过了吗?

      System.setProperty("KEY", "VALUE");
      

      【讨论】:

      • 这是一个 Java 系统属性。它不是环境变量。
      • 我的错,我不够小心。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-02-14
      • 1970-01-01
      • 1970-01-01
      • 2018-06-27
      • 1970-01-01
      • 2018-09-08
      • 2012-04-25
      相关资源
      最近更新 更多