Как известно, eclipse предлагает нам способ передачи параметров VM в конкретный класс, посмотрите раздел VM Arguments
на изображении ниже:
Но я хочу передать эти аргументы по-другому, поэтому я могу поместить эти аргументы в файл свойств, а затем я извлечу их в код.
Итак, как только я вызываю класс Lesson2 (как на изображении выше) из любого другого класса, я передаю ему аргументы VM перед запуском
Любые предложения?
Чтобы установить аргумент VM в одном классе и получить доступ к нему в другом классе, либо вы установите параметр как -Dprop=propValue
в поле аргументы VM в конфигурации запуска, либо с помощью System.getProperties().setProperty('prop', 'propValue')
в код. Затем свойство можно получить из карты в вызываемом классе. Это также возможно для приложений, запущенных из командной строки, как
$ java -Dprop=propValue SomeClass ...
или параметр запуска сервера приложений (пример: Tomcat или JBoss)
$ export JAVA_OPTS="-Dprop=propValue"
а затем запуск сервера приложений.
Наконец, несколько свойств могут быть заданы путем перечисления -Dprop=value
, разделенных пробелами.
Вы можете попробовать использовать JMX-клиент (например, VisualVM), а затем вызвать getVMOption (имя строки), см. HotSpotDiagnosticMXBean.getDiagnosticOptions()