Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Linux上通过Java在进程内设置Shell环境变量_Java_Linux_Environment Variables - Fatal编程技术网

在Linux上通过Java在进程内设置Shell环境变量

在Linux上通过Java在进程内设置Shell环境变量,java,linux,environment-variables,Java,Linux,Environment Variables,如果我有一个java应用程序需要设置特定的环境变量,但我不能将它们放在bash.rc或bash_概要文件中,也不能将它们放在/etc/profile.d中,那么可以在java进程中设置它们吗?或者在java进程运行之前需要设置这些参数吗?每次手动设置它们也不是一个选项,因为我希望它们对用户透明。您尝试过吗 System.setProperty("KEY", "VALUE"); 你试过了吗 System.setProperty("KEY", "VALUE"); 对于设置环境变量, 对于设置环

如果我有一个java应用程序需要设置特定的环境变量,但我不能将它们放在bash.rc或bash_概要文件中,也不能将它们放在/etc/profile.d中,那么可以在java进程中设置它们吗?或者在java进程运行之前需要设置这些参数吗?每次手动设置它们也不是一个选项,因为我希望它们对用户透明。

您尝试过吗

System.setProperty("KEY", "VALUE");
你试过了吗

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

对于设置环境变量,


对于设置环境变量,我怀疑这是不可能的。System.getenv()是不可修改的映射,这意味着您不能修改其中的元素。

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

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

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

请澄清:您想在程序内将环境变量设置为硬编码值,然后读取这些环境变量?可能重复请澄清:您想在程序内将环境变量设置为硬编码值然后读取这些环境变量?可能是Java系统属性的重复。这不是一个环境变量。糟糕的是,我不够小心。这是Java系统的属性。这不是一个环境变量。糟糕的是,我不够小心。他可以使用ProcessBuilder设置环境变量-查看我在帖子中的链接和“可能重复”注释他可以使用ProcessBuilder设置环境变量-查看我在帖子中的链接和“可能重复”注释