У меня есть следующие последовательности

ubuntu@ip-10-63-3-254:/mnt$ export JAVA_OPTS=-Dmt.config.from=En
ubuntu@ip-10-63-3-254:/mnt$ echo $JAVA_OPTS
-Dmt.config.from=En
ubuntu@ip-10-63-3-254:/mnt$ javac hello.java
ubuntu@ip-10-63-3-254:/mnt$ java hello
mt.config.from=null
ubuntu@ip-10-63-3-254:/mnt$ java -Dmt.config.from=En hello
mt.config.from=En
ubuntu@ip-10-63-3-254:/mnt$ 

Где hello.java

public class hello {
public static void main (String[] args) {
       String property = "mt.config.from";
       String value = System.getProperty(property);
       System.out.println(property + "=" + value);
  }
}

Почему мой экспорт JAVA_OPTS = -Dmt.config.from = En не выбирается hello.java? Спасибо

1
user200340 9 Апр 2013 в 17:13

1 ответ

Лучший ответ

Я думаю, вам нужно ссылаться на $JAVA_OPTS при запуске, например:

java $JAVA_OPTS hello

Я не думаю, что java вообще проверяет переменную окружения, это скорее соглашение, используемое в скриптах при запуске jvm.

5
Jonathan 9 Апр 2013 в 17:17
JAVA_OPTS не переменная среды для JVM? Почему на него следует ссылаться?
 – 
user200340
9 Апр 2013 в 17:22
Извините, понял. Это влияет только на JVM, но не на программу. Спасибо.
 – 
user200340
9 Апр 2013 в 17:25