Системные свойства Java через -D: синтаксис и приоритет


Дата публикации:

Обновлено:


Статьи > Системные свойства Java через -D: синтаксис и приоритет

Статус 2026 года и безопасное использование

Вывод: поместите -Dname=value перед основным классом или аргументом -jar, чтобы определить системное свойство JVM. Код Java считывает его с помощью System.getProperty("name"); это не то же самое, что переменная среды операционной системы.

Чему вы научитесь

  • Как средство запуска Java анализирует параметры -D и где хранится значение.
  • Как проверять свойства без утечки секретных данных в командные строки или списки процессов.
  • Как исходный пример Java 11 соотносится с текущими поддерживаемыми выпусками JDK.

Для кого: Java-разработчики и операторы, диагностирующие конфигурацию приложений для конкретной среды.

Актуальность на 2026 год Механизм остается актуальным, но для учетных данных используйте диспетчер секретов или защищенный источник конфигурации. В приведенном ниже пошаговом руководстве записан исходный тест Java 11, и его не следует рассматривать как рекомендацию помещать секреты в аргументы -D.

Примечание по безопасности. Команды и примеры конфигурации из исходной статьи не проверялись повторно в современной производственной среде. Перед применением проверьте поддерживаемые версии, резервные копии, контроль доступа и процедуру отката в отдельной тестовой среде.

Официальные первоисточники

Обзор

Системное свойство указывается перед главным классом или параметром -jar, например "-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager". В Eclipse добавьте его в поле "Конфигурация запуска ⇒ Аргументы VM", как показано ниже.

Экран Eclipse

В этом разделе объясняется, что происходит, когда вы добавляете это '-DXXXXXX'.

Оглавление

  1. Что такое опция D (-D)?
  2. Итоги

1. Что такое опция D (-D)?

Параметр -D задаёт системное свойство при запуске JVM. Затем программа может прочитать его через System.getProperty.

1-1. Что произойдет, если вы запустите его с опцией D (-D)

В Eclipse добавьте "-Dtest=testoption" к аргументам VM в конфигурации запуска, как показано ниже.

Экран Eclipse

Создайте простой главный класс, как показано ниже.

Экран Eclipse

Выполнение этого главного класса показывает, что значение "testoption" может быть получено с "test" в качестве аргумента следующим образом.

Экран Eclipse

Это означает, что если значение системного свойства установлено при запуске Java, оно может быть получено из класса System.

2. Итоги

Опция D (-D) при запуске Java позволяет извлекать значения из класса System. Он используется, например, когда вы хотите динамически устанавливать разные значения для разных сред.

■INFORMATION

Статьи


■PROFILE

Профиль


■Контакты

Контакты