Spring загрузите полностью исполняемый JAR и задайте свойства -D
Плагины Spring Boot Maven и Gradle теперь могут генерировать полные исполняемые архивы для операционных систем Linux/Unix. Охват полностью исполняемого JAR так же просто, как и ввод:
$ ./myapp.jar
Мой вопрос заключается в том, как установить свойства -D, например
-Dspring.profiles.active=test
Кроме того, если сервер не устанавливает jdk, может ли этот полностью исполняемый jar все еще работать?
Ответы
Ответ 1
Существует два способа настройки таких свойств:
1
Указав их в отдельном файле конфигурации. Spring Boot будет искать файл с именем JARfilename.conf
, который должен храниться в той же папке, что и файл JAR. Там вы можете добавить переменную окружения JAVA_OPTS
:
JAVA_OPTS="-Dpropertykey=propvalue"
2:
Или вы можете просто указать значение для переменной среды в оболочке перед выполнением приложения:
JAVA_OPTS="-Dpropertykey=propvalue" ./myapp.jar
Посмотрите документацию на полный список доступных переменных: http://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#deployment-service
Что касается вашего второго вопроса: для выполнения JAR вам не нужен JDK, JRE достаточно (но вам нужно хотя бы то, что, если у вас нет java, установленного на сервере, приложение выиграло ' t run).
Ответ 2
По умолчанию SpringApplication преобразует любые аргументы параметров командной строки (начиная с '-, например, --server.port = 9000) в свойство и добавляет его в среду Spring. Как упоминалось выше, свойства командной строки всегда имеют приоритет над другими источниками свойств.
например.
$ java -jar myapp.jar --spring.application.json='{"foo":"bar"}'
см. http://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/