3장. Thorntail 애플리케이션 Maven 프로젝트 마이그레이션


Thorntail의 Red Hat 빌드는 라이프 사이클의 끝에 접근하고 있습니다. Thorntail 애플리케이션이 있는 경우 애플리케이션의 Maven 프로젝트를 JBoss EAP XP로 마이그레이션할 수 있습니다. Thorntail 애플리케이션은 다음 두 가지 방법으로 패키지됩니다.

  • Thorntail 런타임과 함께 실행 가능한 JAR인 워크북jar로 패키지
  • 런타임 전용 실행 가능한 JAR인 Thorntail hollow JAR로 배포 및 실행할 표준 WAR 아카이브에 패키지됩니다.

JBoss EAP XP로 마이그레이션하면 Thorntail 애플리케이션을 부팅 가능한 JAR로 패키징하고 애플리케이션에서 사용하는 MicroProfile 플랫폼과 기타 기술을 포함하도록 JBoss EAP XP 런타임을 트리밍할 수 있습니다.

애플리케이션을 JBoss EAP XP로 마이그레이션하는 경우 모든 Thorntail 종속성을 제거하고 필요한 MicroProfile 및 Jakarta EE 8 사양의 아티팩트를 Maven 프로젝트 종속 항목에 추가해야 합니다.

참고

런타임 시 JBoss CLI 툴 또는 JBoss EAP 웹 콘솔을 사용하여 서버 구성을 변경할 수 있습니다. 그러나 패키징 중 수행된 구성 변경 사항과 달리 런타임 시 구성에 대한 모든 변경 사항은 유지되지 않으며 부팅 가능한 JAR을 다시 시작할 때 손실됩니다.

3.1. Thorntail 애플리케이션 Maven 프로젝트를 JBoss EAP XP로 마이그레이션

Jakarta Enterprisehieras, Jakarta Server Faces, Jakarta Connector API, JWT 웹 서비스 또는 CORBA와 같은 기술에 의존하는 Thorntail 애플리케이션이 있는 경우 애플리케이션의 Maven 프로젝트를 JBoss EAP XP로 마이그레이션할 수 있습니다.

Galleon 계층은 부팅 가능한 JAR에 패키지된 JBoss EAP XP 런타임의 기능을 구성하는 데 사용됩니다. Jakarta EE 8 사양을 사용하는 Thorntail 애플리케이션을 마이그레이션하는 경우 관련 Galleon 계층을 부팅 가능한 JAR Maven 플러그인 구성에 추가해야 합니다.

Galleon 계층을 사용하는 경우 JBoss EAP XP는 서버 구성을 생성하고 부팅 가능한 JAR 내에 패키징합니다. Galleon 계층이 사용되지 않는 경우 기본 standalone-microprofile.xml 과 동일한 구성이 부팅 가능한 JAR에 패키지됩니다.

<cloud> 구성 요소를 사용하여 클라우드로 부팅 가능한 JAR을 작성하는 경우 기본 standalone-microprofile-ha.xml 과 유사한 OpenShift 구성이 부팅 가능한 JAR에 적용됩니다.

부팅 가능한 JAR Maven 플러그인은 부팅 가능한 JAR을 패키징하는 동안 JBoss CLI 스크립트를 실행합니다.

절차

  1. 모든 Thorntailoctets 가져오기를 제거합니다.

    pom.xml 파일에서 io.thorntail Thorntail RuntimeClass 가져오기를 제거하는 예.

    <dependencyManagement>
      <dependencies>
        <dependency>
          <groupId>io.thorntail</groupId>
          <artifactId>bom</artifactId>
          <version>${version.thorntail}</version>
          <type>pom</type>
          <scope>import</scope>
        </dependency>
      </dependencies>
    </dependencyManagement>

  2. JBoss EAP XPoctetss를 사용하여 지원되는 아티팩트를 JBoss EAP XP 종속성 관리로 가져옵니다.

    jboss-eap-jakartaee8-with-tools octets를 사용하여 지원되는 아티팩트를 프로젝트로 가져오는 예.

    <dependencyManagement>
            <dependencies>
                <!-- importing the jakartaee8-with-tools BOM adds specs and other useful artifacts as managed dependencies -->
                <dependency>
                    <groupId>org.jboss.bom</groupId>
                    <artifactId>jboss-eap-jakartaee8-with-tools</artifactId>
                    <version>${version.server.bom}</version>
                    <type>pom</type>
                    <scope>import</scope>
                </dependency>
                <!-- importing the microprofile BOM adds MicroProfile specs -->
                <dependency>
                    <groupId>org.jboss.bom</groupId>
                    <artifactId>jboss-eap-xp-microprofile</artifactId>
                    <version>${version.microprofile.bom}</version>
                    <type>pom</type>
                    <scope>import</scope>
                </dependency>
            </dependencies>
        </dependencyManagement>

    참고

    애플리케이션이 MicroProfile 플랫폼에 포함되지 않은 Jakarta EE 8 사양에 따라 달라지는 경우에만 jakartaee8-with-tools 1.8.0을 가져옵니다.

  3. Thorntail Maven 플러그인을 JBoss EAP XP 부팅 가능한 JAR Maven 플러그인으로 교체합니다.

    JBoss EAP XP 부팅 가능한 JAR Maven 플러그인과 Thorntail Maven 플러그인의 교체를 보여주는 예.

    <plugin>
       <groupId>org.wildfly.plugins</groupId>
       <artifactId>wildfly-jar-maven-plugin</artifactId>
       <version>${bootable.jar.maven.plugin.version}</version>
       <configuration>
          <feature-pack-location>${org.jboss.eap:wildfly-galleon-pack:${jboss.xp.galleon.feature.pack.version}</feature-pack-location>
          <layers>
             <layer>microprofile-platform</layer>
          </layers>
       </configuration>
       <executions>
          <execution>
             <goals>
                <goal>package</goal>
             </goals>
          </execution>
       </executions>
    </plugin>

    참고

    이전 예제에서는 Maven 플러그인 버전에 대해 다음 속성을 지정합니다.

    ${bootable.jar.maven.plugin.version}

    프로젝트에 이 속성 대신 Maven 플러그인 버전을 설정해야 합니다. 예를 들면 다음과 같습니다.

    <properties>
        <bootable.jar.maven.plugin.version>4.0.3.Final-redhat-00001</bootable.jar.maven.plugin.version>
    </properties>
    • 부팅 가능한 JAR 플러그인은 기본적으로berJAR를 빌드하므로 배포된 애플리케이션과 함께 JBoss EAP XP 런타임을 패키지화합니다. hollow JAR을 빌드하려면 <hollow-jar>true</hollow-jar> 를 플러그인 구성에 추가합니다.
  4. Maven 프로젝트에서 Thorntail 부분 부분을 다음과 같이 변경합니다.

    1. Thorntail fraction 종속성을 제거합니다.

      Maven 프로젝트에서 io.thorntail Thorntail 분수의 제거를 보여주는 예.

      <dependencies>
        <dependency>
          <groupId>io.thorntail</groupId>
          <artifactId>jaxrs</artifactId>
        </dependency>
      </dependencies>

    2. Maven 종속 항목을 구성합니다.

      XML 스니펫을 사용하여 Jakarta EE 8 rsh-RS 및 MicroProfile Config API의 아티팩트에 종속성을 추가하는 예입니다.

      <dependencies>
          <!-- Import the MicroProfile Config API, we use provided scope as the API is included in the server -->
          <dependency>
            <groupId>org.eclipse.microprofile.config</groupId>
            <artifactId>microprofile-config-api</artifactId>
            <scope>provided</scope>
          </dependency>
          <!-- Import the Jakarta REST API, we use provided scope as the API is included in the server -->
          <dependency>
            <groupId>org.jboss.spec.javax.ws.rs</groupId>
            <artifactId>jboss-jaxrs-api_2.1_spec</artifactId>
            <scope>provided</scope>
          </dependency>
        </dependencies>

    3. Thorntail YAML 파일, 시스템 속성 및 환경 속성을 제거합니다.
    4. Galleon 레이어를 구성합니다.

      rsh-RS가 필요한 애플리케이션에 대해 부팅 가능한 JAR Maven 플러그인에서 Galleon 계층을 구성하는 예입니다.

      <plugin>
        <groupId>org.wildfly.plugins</groupId>               <artifactId>wildfly-jar-maven-plugin</artifactId>                  <configuration>
         ...
            <layers>
              <layer>jaxrs-server</layer>
              <layer>microprofile-platform</layer>
            </layers>
        </configuration>
         ...
      </plugin>

Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 문서 정보

Legal Notice

Theme

© 2026 Red Hat
맨 위로 이동