Параметры виртуальной машины InteliJ trustStore не установлены

#java

#java

Вопрос:

Я пытаюсь установить javax.net.ssl.trustStore и javax.net.ssl.trustStorePassword правильные значения, однако, когда я передаю их в качестве параметров виртуальной машины, они не устанавливаются.

Я передаю их следующим образом:

 -Dspring.profiles.active=dev
-Djavax.net.ssl=all
-Djavax.net.ssl.trustStore="test.jks"
-Djavax.net.ssl.trustStorePassword="abc123"
-Djavax.net.ssl.trustStoreType= "JKS"
  

Когда я их устанавливаю System.setProperty , все работает нормально

 System.setProperty("javax.net.ssl.trustStore", "test.jks");
System.setProperty("javax.net.ssl.trustStorePassword", "abc123");
System.setProperty("javax.net.ssl.trustStoreType", "JKS");
  

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

Ответ №1:

Добавьте опцию виртуальной машины в «Run / Debug Configuration»введите описание изображения здесь, затем запустите свое приложение, в консоли вы можете увидеть, как вы jdk введите описание изображения здесьнажимаете на jdk, можете увидеть подробную информацию о виртуальной машине введите описание изображения здесь

Комментарии:

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

2. Как вы получаете переменную? вы можете использовать @Value для ввода env в переменную и передачи ее. @liquid5109

3. Это опция виртуальной машины, зачем мне нужно получать переменную? Я просто хочу установить его через параметры виртуальной машины.