【问题标题】:Accessing Linux Environment Variable from Java Program从 Java 程序访问 Linux 环境变量
【发布时间】:2014-12-19 11:43:17
【问题描述】:

我有访问 Linux 变量的 Java 程序(例如 $VARD,我也导出了变量),我正在使用 Runtime.getRuntime("echo $VARD") 函数访问变量值。问题是它打印变量名而不是它的值。

注意:我在 Linux 服务器上运行这个程序,它有 JAVA JDK 1.4 版本。我知道我们可以使用 JDK 1.5 中提供的 getenv().get() 函数来做到这一点。

【问题讨论】:

标签: java linux jdk1.4


【解决方案1】:

一般情况下,您应该使用System.getProperty()System.getEnv()

import java.lang.*;

public class SystemDemo {

   public static void main(String[] args) {

     // prints Java Runtime Version before property set
     System.out.print("Previous : ");
     System.out.println(System.getProperty("java.runtime.version" ));
     System.setProperty("java.runtime.version", "Java Runtime 1.6.0");

     // prints Java Runtime Version after property set
     System.out.print("New : ");
     System.out.println(System.getProperty("java.runtime.version" ));
   }
}

import java.util.Map;

public class EnvMap {
    public static void main (String[] args) {
        Map<String, String> env = System.getenv();
        for (String envName : env.keySet()) {
            System.out.format("%s=%s%n",
                              envName,
                              env.get(envName));
        }
    }
}

如果您使用的是 maven,还有另一种选择。您可以使用 ${env.VARIABLE_NAME} 从 maven 访问环境变量。

【讨论】:

  • 1.程序用于访问预定义的属性值
猜你喜欢
  • 1970-01-01
  • 2016-12-18
  • 2010-11-21
  • 1970-01-01
  • 2012-12-21
  • 2023-03-28
  • 2016-12-26
  • 1970-01-01
  • 2022-01-04
相关资源
最近更新 更多