programing

완전히 실행 가능한 JAR을 실행하는 스프링 부트 및 -D 속성 지정

css3 2023. 6. 19. 21:58

완전히 실행 가능한 JAR을 실행하는 스프링 부트 및 -D 속성 지정

Spring Boot Maven 및 Gradle 플러그인은 이제 Linux/Unix 운영 체제를 위한 전체 실행 파일 아카이브를 생성할 수 있습니다.완전히 실행 가능한 JAR을 실행하는 것은 다음을 입력하는 것만큼 쉽습니다.

$ ./myapp.jar

제 질문은 이 경우 -D 속성을 설정하는 방법입니다. 예를 들어,

-Dspring.profiles.active=test

또한 서버가 jdk를 설치하지 않으면 이 완전 실행 가능한 jar가 계속 실행될 수 있습니까?

이와 같은 속성을 구성하는 두 가지 방법이 방법은 다음과 같습니다.

1:

별도의 구성 파일로 지정합니다.Spring Boot은 다음과 같은 이름의 파일을 찾습니다.JARfilename.confJAR 파일과 같은 동일한 폴더에 저장해야 합니다.여기서 환경 변수를 추가할 수 있습니다.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가 설치되어 있지 않으면 응용프로그램이 실행되지 않습니다).

기본적으로 SpringApplication은 명령줄 옵션 인수(예: '--, --server.port=9000)를 속성으로 변환하여 SpringEnvironment에 추가합니다.위에서 설명한 대로 명령줄 속성은 항상 다른 속성 소스보다 우선합니다.

예.

$ java -jar myapp.jar --spring.application.json='{"foo":"bar"}'

http://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/ 을 참조하십시오.

언급URL : https://stackoverflow.com/questions/33855713/spring-boot-running-a-fully-executable-jar-and-specify-d-properties