2014-12-19 5 views
1

У меня есть программа Java, которая обращается к переменной Linux (пример $VARD, я также экспортировал переменную), я обращаюсь к значению переменной с помощью функции Runtime.getRuntime("echo $VARD"). Проблема заключается в том, что она печатает имя переменной вместо ее значения.Доступ к переменной среды Linux Переменная из Java-программы

Примечание: Я запускаю эту программу на сервере Linux, где есть версия JAVA JDK 1.4. Я знал, что мы можем это сделать, используя функцию 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.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 есть другой вариант. Вы можете обращаться к переменным среды из maven, используя ${env.VARIABLE_NAME}.

+0

1. Программа используется для доступа к предопределенному значению свойства –

+0

Вторая программа будет выполняться только на версии JDK 1.5 и выше ... –

 Смежные вопросы

  • Нет связанных вопросов^_^