2014-12-19 4 views
1

Linux 변수에 액세스하는 Java 프로그램이 있습니다 (예 : $VARD, 변수도 내 보냈습니다). Runtime.getRuntime("echo $VARD") 함수를 사용하여 변수 값에 액세스하고 있습니다. 문제는 값 대신 변수 이름을 인쇄합니다.Java 프로그램에서 Linux 환경 변수에 액세스

참고 :이 프로그램은 JAVA JDK 1.4 버전이있는 Linux 서버에서 실행됩니다. 나는 우리가 getenv().get() 함수를 사용하여 JDK 1.5에서 사용할 수 있다는 것을 알았다.

+1

참조 http://stackoverflow.com/questions/20610080/can-we-read-the-os-environment-variables-in-java – Hagai

+0

System.getProperties()를 사용하여 원하는 항목을 찾을 수 있습니까? – Adem

답변

1

일반적으로 System.getProperty() 또는 System.getEnv()을 사용해야한다.


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)); 
     } 
    } 
} 

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")); 
    } 
} 

다른 옵션이 받는다는을 사용하는 경우. ${env.VARIABLE_NAME}을 사용하여 maven의 환경 변수에 액세스 할 수 있습니다.

+0

1. 프로그램은 미리 정의 된 속성 값 –

+0

에 액세스하는 데 사용됩니다. 두 번째 프로그램은 JDK 1.5 버전 이상에서만 실행됩니다 ... –

관련 문제