Передача пользовательских свойств Java с точкой в ​​имени при использовании PowerShell в Windows 10 - PullRequest
0 голосов
/ 05 мая 2018

У меня есть следующий код:

public static void main(String[] args) {
    String prop1 = System.getProperty("test.prop", "missing");
    System.out.println("test.prop: " + prop1);

    String prop2 = System.getProperty("otherprop", "missing");
    System.out.println("otherprop: " + prop2);

    String cmd = System.getProperty("sun.java.command");
    System.out.println("cmd: " + cmd);
}

Я вызываю встроенную банку с помощью PowerShell:

> java -jar TestApp.jar -Dtest.prop=value1 -Dotherprop=value2
test.prop: missing
otherprop: missing
cmd: TestApp.jar -Dtest .prop=value1 -Dotherprop=value2

> java -Dtest.prop=value1 -Dotherprop=value2 -jar TestApp.jar
Error: Could not find or load main class .prop=value1

Screenshot

1 Ответ

0 голосов
/ 05 мая 2018

Правильный вызов:

java  -Dtest.prop=value1 -Dotherprop=value2 -jar TestApp.jar

Когда свойства передаются после имени вашего jar-файла, они передаются в качестве аргументов программы вашему main методу, а не устанавливаются в качестве системных свойств.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...