11.5. JBoss EAP 베어 메탈 플랫폼에서 부팅 가능한 JAR 사용
JBoss EAP 베어 메탈 플랫폼에서 애플리케이션을 부팅 가능한 JAR로 패키징할 수 있습니다.
부팅 가능한 JAR에는 서버, 패키지 애플리케이션, 서버를 시작하는 데 필요한 런타임이 포함되어 있습니다.
이 절차에서는 JBoss EAP JAR Maven 플러그인을 사용하여 MicroProfile Config 마이크로 서비스 애플리케이션을 부팅 가능한 JAR로 패키징하는 방법을 보여줍니다. MicroProfile Config 빠른 시작을 참조하십시오.
CLI 스크립트를 사용하여 부팅 가능한 JAR을 패키징하는 동안 서버를 구성할 수 있습니다.
부팅 가능한 JAR 내에 패키징해야 하는 웹 애플리케이션을 빌드하는 경우 pom.xml 파일의 < packaging > 요소에 war 를 지정해야 합니다. 예를 들면 다음과 같습니다.
<packaging>war</packaging>
이 값은 빌드 애플리케이션을 기본 JAR 파일이 아닌 WAR 파일로 패키징하는 데 필요합니다.
빈 부팅 가능한 JAR을 빌드하는 데에만 사용되는 Maven 프로젝트에서는 패키징 값을 pom 로 설정합니다. 예를 들면 다음과 같습니다.
<packaging>pom</packaging>
Maven 프로젝트에 대해 빈 부팅 가능한 JAR을 빌드할 때 pom 패키지 사용이 제한되지 않습니다. war 와 같은 모든 유형의 패키지에 대해 < hollow-jar > 요소에 true 를 지정하여 생성할 수 있습니다. JBoss EAP 베어 메탈 플랫폼에서 빈 부팅 가능한 JAR 생성 을 참조하십시오.
사전 요구 사항
-
9.minor.micro.Final-redhat-XXXXX와 같은 최신 Maven 플러그인 버전을 확인했습니다. 여기서 9 는 주요 버전이며 마이너 버전은 마이크로 마이크로 버전이며 X 는 Red Hat 빌드 번호입니다. 예:9.0.1.Final-redhat-00009. - Maven 프로젝트를 생성하고 MicroProfile 애플리케이션을 생성하기 위한 종속 항목을 추가했습니다. MicroProfile Config Development 를 참조하십시오.
절차에 표시된 예제에서는 다음 속성을 지정합니다.
-
${bootable.jar.maven.plugin.version}은(는) Maven 플러그인 버전에 해당합니다.
프로젝트에 이러한 속성을 설정해야 합니다. 예를 들면 다음과 같습니다.
<properties>
<bootable.jar.maven.plugin.version>9.0.1.Final-redhat-00009</bootable.jar.maven.plugin.version>
</properties>
프로세스
pom.xml파일의 <build> 요소에 다음 내용을 추가합니다. 예를 들면 다음과 같습니다.<plugins> <plugin> <groupId>org.wildfly.plugins</groupId> <artifactId>wildfly-jar-maven-plugin</artifactId> <version>${bootable.jar.maven.plugin.version}</version> <configuration> <channels> <channel> <manifest> <groupId>org.jboss.eap.channels</groupId> <artifactId>eap-8.0</artifactId> </manifest> </channel> <channel> <manifest> <groupId>org.jboss.eap.channels</groupId> <artifactId>eap-xp-5.0</artifactId> </manifest> </channel> </channels> <feature-pack-location>org.jboss.eap.xp:wildfly-galleon-pack</feature-pack-location> <layers> <layer>jaxrs-server</layer> <layer>microprofile-platform</layer> </layers> </configuration> <executions> <execution> <goals> <goal>package</goal> </goals> </execution> </executions> </plugin> </plugins>참고pom.xml파일에 Galleon 계층을 지정하지 않으면 부팅 가능한 JAR 서버에standalone-microprofile.xml구성과 동일한 구성이 포함됩니다.애플리케이션을 부팅 가능한 JAR로 패키징합니다.
$ mvn package애플리케이션을 시작합니다.
$ NAME="foo" java -jar target/microprofile-config-bootable.jar참고이 예제에서는
NAME을 환경 변수로 사용하지만 기본값인jim을 사용하도록 선택할 수 있습니다.참고지원되는 부팅 가능한 JAR 인수 목록을 보려면
java -jar target/microprofile-config-bootable.jar명령 끝에--help를 추가합니다.웹 브라우저에서 다음 URL을 지정하여 MicroProfile Config 애플리케이션에 액세스합니다.
http://localhost:8080/config/json확인: 터미널에서 다음 명령을 실행하여 애플리케이션이 제대로 작동하는지 테스트합니다.
curl http://localhost:8080/config/json다음은 예상되는 출력입니다.
{"result":"Hello foo"}