Este contenido no está disponible en el idioma seleccionado.

Chapter 5. Migrate a JBoss EAP Application’s Maven Project to JBoss EAP 8.0


When migrating an application’s Maven project to JBoss EAP 8.0, which uses JBoss EAP BOMs to manage dependencies, you must update the pom.xml files due to the following significant changes introduced with the JBoss EAP 8.0 BOMs.

Note

If an application is migrated to JBoss EAP 8.0 without any changes, the application will build with incorrect dependencies and may fail to deploy on JBoss EAP 8.0.

5.1. Renaming of JBoss EAP Jakarta EE 8

The JBoss EAP Jakarta EE 8 BOM has been renamed to JBoss EAP EE and its Maven Coordinates have been changed from org.jboss.bom:jboss-eap-jakartaee8 to org.jboss.bom:jboss-eap-ee. The usage of this BOM in a Maven project (pom.xml) may be identified with the following dependency management import:

<dependencyManagement>
   <dependencies>
       <dependency>
           <groupId>org.jboss.bom</groupId>
           <artifactId>jboss-eap-jakartaee8</artifactId>
           <version>${version.bom}</version>
           <type>pom</type>
           <scope>import</scope>
       </dependency>
   </dependencies>
</dependencyManagement>

The Maven project (pom.xml) should instead import the new “JBoss EAP EE” BOM to its dependency management:

<dependencyManagement>
   <dependencies>
       <dependency>
           <groupId>org.jboss.bom</groupId>
           <artifactId>jboss-eap-ee</artifactId>
           <version>${version.bom}</version>
           <type>pom</type>
           <scope>import</scope>
       </dependency>
   </dependencies>
</dependencyManagement>

5.2. Renaming of JBoss EAP Jakarta EE 8 with tools

The JBoss EAP Jakarta EE 8 With Tools BOM has been renamed to JBoss EAP EE with tools, and its Maven Coordinates have been changed from org.jboss.bom:jboss-eap-jakartaee8-with-tools to org.jboss.bom:jboss-eap-ee-with-tools. The usage of this BOM in a Maven project (pom.xml) may be identified with the following dependency management import:

<dependencyManagement>
   <dependencies>
       <dependency>
           <groupId>org.jboss.bom</groupId>
           <artifactId>jboss-eap-jakartaee8-with-tools</artifactId>
           <version>${version.bom}</version>
           <type>pom</type>
           <scope>import</scope>
       </dependency>
   </dependencies>
</dependencyManagement>

The Maven project (pom.xml) must import the new “JBoss EAP EE With Tools” BOM to its dependency management instead:

<dependencyManagement>
   <dependencies>
       <dependency>
           <groupId>org.jboss.bom</groupId>
           <artifactId>jboss-eap-ee-with-tools</artifactId>
           <version>${version.bom}</version>
           <type>pom</type>
           <scope>import</scope>
       </dependency>
   </dependencies>
</dependencyManagement>

5.3. Removal of JBoss EAP Jakarta EE 8 APIs

The JBoss EAP Jakarta EE 8 APIs BOMs have been removed in JBoss EAP 8.0 and the new JBoss EAP EE BOM must be used instead. The usage of this BOM in a Maven project (pom.xml) may be identified with the following dependency management import:

<dependencyManagement>
   <dependencies>
       <dependency>
           <groupId>org.jboss.spec</groupId>
           <artifactId>jboss-jakartaee-8.0</artifactId>
           <version>${version.bom}</version>
           <type>pom</type>
           <scope>import</scope>
       </dependency>
       <dependency>
           <groupId>org.jboss.spec</groupId>
           <artifactId>jboss-jakartaee-web-8.0</artifactId>
           <version>${version.bom}</version>
           <type>pom</type>
           <scope>import</scope>
       </dependency>
   </dependencies>
</dependencyManagement>

The Maven project (pom.xml) must import the new JBoss EAP EE BOM to its dependency management:

<dependencyManagement>
   <dependencies>
       <dependency>
           <groupId>org.jboss.bom</groupId>
           <artifactId>jboss-eap-ee</artifactId>
           <version>${version.bom}</version>
           <type>pom</type>
           <scope>import</scope>
       </dependency>
   </dependencies>
</dependencyManagement>

5.4. Removal of the JBoss EAP Runtime BOM

The JBoss EAP Runtime BOM is no longer distributed with JBoss EAP 8.0 and you must use the new JBoss EAP EE BOM instead. The usage of this BOM in a Maven project (pom.xml) may be identified with the following dependency management import:

<dependencyManagement>
   <dependencies>
       <dependency>
           <groupId>org.jboss.bom</groupId>
           <artifactId>eap-runtime-artifacts</artifactId>
           <version>${version.bom}</version>
           <type>pom</type>
           <scope>import</scope>
       </dependency>
   </dependencies>
</dependencyManagement>

The Maven project (pom.xml) must import the new JBoss EAP EE BOM to its dependency management instead:

<dependencyManagement>
   <dependencies>
       <dependency>
           <groupId>org.jboss.bom</groupId>
           <artifactId>jboss-eap-ee</artifactId>
           <version>${version.bom}</version>
           <type>pom</type>
           <scope>import</scope>
       </dependency>
   </dependencies>
</dependencyManagement>

5.5. Jakarta EE and JBoss APIs Maven Coordinates changes

The following Jakarta EE and JBoss APIs artifacts, which were provided by the JBoss EAP BOMs, have changed Maven Coordinates, or were replaced by other artifacts:

  • com.sun.activation:jakarta.activation
  • org.jboss.spec.javax.annotation:jboss-annotations-api_1.3_spec
  • org.jboss.spec.javax.security.auth.message:jboss-jaspi-api_1.0_spec
  • org.jboss.spec.javax.security.jacc:jboss-jacc-api_1.5_spec
  • org.jboss.spec.javax.batch:jboss-batch-api_1.0_spec
  • org.jboss.spec.javax.ejb:jboss-ejb-api_3.2_spec
  • org.jboss.spec.javax.el:jboss-el-api_3.0_spec
  • org.jboss.spec.javax.enterprise.concurrent:jboss-concurrency-api_1.0_spec
  • org.jboss.spec.javax.faces:jboss-jsf-api_2.3_spec
  • org.jboss.spec.javax.interceptor:jboss-interceptors-api_1.2_spec
  • org.jboss.spec.javax.jms:jboss-jms-api_2.0_spec
  • com.sun.mail:jakarta.mail
  • org.jboss.spec.javax.resource:jboss-connector-api_1.7_spec
  • org.jboss.spec.javax.servlet:jboss-servlet-api_4.0_spec
  • org.jboss.spec.javax.servlet.jsp:jboss-jsp-api_2.3_spec
  • org.apache.taglibs:taglibs-standard-spec
  • org.jboss.spec.javax.transaction:jboss-transaction-api_1.3_spec
  • org.jboss.spec.javax.xml.bind:jboss-jaxb-api_2.3_spec
  • org.jboss.spec.javax.xml.ws:jboss-jaxws-api_2.3_spec
  • javax.jws:jsr181-api
  • org.jboss.spec.javax.websocket:jboss-websocket-api_1.1_spec
  • org.jboss.spec.javax.ws.rs:jboss-jaxrs-api_2.1_spec
  • org.jboss.spec.javax.xml.soap:jboss-saaj-api_1.4_spec
  • org.hibernate:hibernate-core
  • org.hibernate:hibernate-jpamodelgen
  • org.jboss.narayana.xts:jbossxts

The Maven Project (pom.xml) should update the dependency’s Maven Coordinates if the artifact was changed or replaced, or remove the dependency if the artifact is no longer supported.

<dependencies>
   <!-- replaces com.sun.activation:jakarta.activation -->
   <dependency>
       <groupId>jakarta.activation</groupId>
       <artifactId>jakarta.activation-api</artifactId>
   </dependency>
   <!-- replaces org.jboss.spec.javax.annotation:jboss-annotations-api_1.3_spec -->
   <dependency>
       <groupId>jakarta.annotation</groupId>
       <artifactId>jakarta.annotation-api</artifactId>
   </dependency>
   <!-- replaces org.jboss.spec.javax.security.auth.message:jboss-jaspi-api_1.0_spec -->
   <dependency>
       <groupId>jakarta.authentication</groupId>
       <artifactId>jakarta.authentication-api</artifactId>
   </dependency>
   <!-- replaces org.jboss.spec.javax.security.jacc:jboss-jacc-api_1.5_spec -->
   <dependency>
       <groupId>jakarta.authorization</groupId>
       <artifactId>jakarta.authorization-api</artifactId>
   </dependency>
   <!-- replaces org.jboss.spec.javax.batch:jboss-batch-api_1.0_spec -->
   <dependency>
       <groupId>jakarta.batch</groupId>
       <artifactId>jakarta.batch-api</artifactId>
   </dependency>
   <!-- replaces org.jboss.spec.javax.ejb:jboss-ejb-api_3.2_spec -->
   <dependency>
       <groupId>jakarta.ejb</groupId>
       <artifactId>jakarta.ejb-api</artifactId>
   </dependency>
   <!-- replaces org.jboss.spec.javax.el:jboss-el-api_3.0_spec -->
   <dependency>
       <groupId>org.jboss.spec.jakarta.el</groupId>
       <artifactId>jboss-el-api_5.0_spec</artifactId>
   </dependency>
   <!-- replaces org.jboss.spec.javax.enterprise.concurrent:jboss-concurrency-api_1.0_spec -->
   <dependency>
       <groupId>jakarta.enterprise.concurrent</groupId>
       <artifactId>jakarta.enterprise.concurrent-api</artifactId>
   </dependency>
   <!-- replaces org.jboss.spec.javax.faces:jboss-jsf-api_2.3_spec -->
   <dependency>
       <groupId>jakarta.faces</groupId>
       <artifactId>jakarta.faces-api</artifactId>
   </dependency>
   <!-- replaces org.jboss.spec.javax.interceptor:jboss-interceptors-api_1.2_spec -->
   <dependency>
       <groupId>jakarta.interceptor</groupId>
       <artifactId>jakarta.interceptor-api</artifactId>
   </dependency>
   <!-- replaces org.jboss.spec.javax.jms:jboss-jms-api_2.0_spec  -->
   <dependency>
       <groupId>jakarta.jms</groupId>
       <artifactId>jakarta.jms-api</artifactId>
   </dependency>
   <!-- replaces com.sun.mail:jakarta.mail -->
   <dependency>
       <groupId>jakarta.mail</groupId>
       <artifactId>jakarta.mail-api</artifactId>
   </dependency>
   <!-- replaces org.jboss.spec.javax.resource:jboss-connector-api_1.7_spec -->
   <dependency>
       <groupId>jakarta.resource</groupId>
       <artifactId>jakarta.resource-api</artifactId>
   </dependency>
   <!-- replaces org.jboss.spec.javax.servlet:jboss-servlet-api_4.0_spec -->
   <dependency>
       <groupId>jakarta.servlet</groupId>
       <artifactId>jakarta.servlet-api</artifactId>
   </dependency>
   <!-- replaces org.jboss.spec.javax.servlet.jsp:jboss-jsp-api_2.3_spec -->
   <dependency>
       <groupId>jakarta.servlet.jsp</groupId>
       <artifactId>jakarta.servlet.jsp-api</artifactId>
   </dependency>
   <!-- replaces org.apache.taglibs:taglibs-standard-spec -->
   <dependency>
       <groupId>jakarta.servlet.jsp.jstl</groupId>
       <artifactId>jakarta.servlet.jsp.jstl-api</artifactId>
   </dependency>
   <!-- replaces org.jboss.spec.javax.transaction:jboss-transaction-api_1.3_spec  -->
   <dependency>
       <groupId>jakarta.transaction</groupId>
       <artifactId>jakarta.transaction-api</artifactId>
   </dependency>
   <!-- replaces org.jboss.spec.javax.xml.bind:jboss-jaxb-api_2.3_spec  -->
   <dependency>
       <groupId>jakarta.xml.bind</groupId>
       <artifactId>jakarta.xml.bind-api</artifactId>
   </dependency>
   <!-- replaces org.jboss.spec.javax.xml.ws:jboss-jaxws-api_2.3_spec and javax.jws:jsr181-api -->
   <dependency>
       <groupId>org.jboss.spec.jakarta.xml.ws</groupId>
       <artifactId>jboss-jakarta-xml-ws-api_4.0_spec</artifactId>
   </dependency>
   <!-- replaces org.jboss.spec.javax.websocket:jboss-websocket-api_1.1_spec -->
   <dependency>
       <groupId>jakarta.websocket</groupId>
       <artifactId>jakarta.websocket-api</artifactId>
   </dependency>
   <!-- replaces org.jboss.spec.javax.ws.rs:jboss-jaxrs-api_2.1_spec -->
   <dependency>
       <groupId>jakarta.ws.rs</groupId>
       <artifactId>jakarta.ws.rs-api</artifactId>
   </dependency>
   <!-- replaces org.jboss.spec.javax.xml.soap:jboss-saaj-api_1.4_spec -->
   <dependency>
       <groupId>org.jboss.spec.jakarta.xml.soap</groupId>
       <artifactId>jboss-saaj-api_3.0_spec</artifactId>
   </dependency>
   <!-- replaces org.hibernate:hibernate-core -->
   <dependency>
       <groupId>org.hibernate.orm</groupId>
       <artifactId>hibernate-core</artifactId>
   </dependency>
   <!-- replaces org.hibernate:hibernate-jpamodelgen -->
   <dependency>
       <groupId>org.hibernate.orm</groupId>
       <artifactId>hibernate-jpamodelgen</artifactId>
   </dependency>
   <!-- replaces org.jboss.narayana.xts:jbossxts -->
   <dependency>
       <groupId>org.jboss.narayana.xts</groupId>
       <artifactId>jbossxts-jakarta</artifactId>
       <classifier>api</classifier>
   </dependency>
</dependencies>

5.6. Removal of JBoss EJB client legacy BOM

The JBoss EJB Client Legacy BOM, with Maven groupId:artifactId coordinates org.jboss.eap:wildfly-ejb-client-legacy-bom, is no longer provided with JBoss EAP.

You can identify this BOM used as dependency management import or as dependency reference in a Maven project pom.xml configuration file as illustrated in the following examples:

Example dependency management import

<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>org.jboss.bom</groupId>
      <artifactId>wildfly-ejb-client-legacy-bom</artifactId>
      <version>${version.bom}</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

Example dependency reference

<dependencies>
...
  <dependency>
    <groupId>org.jboss.bom</groupId>
    <artifactId>wildfly-ejb-client-legacy-bom</artifactId>
    <version>${version.bom}</version>
    <type>pom</type>
  </dependency>
...
</dependencies>

Stand-alone client Java applications can continue to use the same version of the removed BOM, for example, version 7.4.0.GA, to work with JBoss EAP 8. However, it is recommended to replace the EJB Client Legacy API. For information about configuring an EJB Client, see How configure an EJB client in EAP 7.1+ / 8.0+. For information about deprecation of EJB Client Legacy API in JBoss EAP 7.4, see Deprecated in Red Hat JBoss Enterprise Application Platform Platform (EAP) 7.

Important

The JBoss EAP 7.4 client and JBoss EAP 8.x server follow different product lifecycle. For more information, see Product lifecycle for JBoss EAP.

Red Hat logoGithubredditYoutubeTwitter

Aprender

Pruebe, compre y venda

Comunidades

Acerca de la documentación de Red Hat

Ayudamos a los usuarios de Red Hat a innovar y alcanzar sus objetivos con nuestros productos y servicios con contenido en el que pueden confiar. Explore nuestras recientes actualizaciones.

Hacer que el código abierto sea más inclusivo

Red Hat se compromete a reemplazar el lenguaje problemático en nuestro código, documentación y propiedades web. Para más detalles, consulte el Blog de Red Hat.

Acerca de Red Hat

Ofrecemos soluciones reforzadas que facilitan a las empresas trabajar en plataformas y entornos, desde el centro de datos central hasta el perímetro de la red.

Theme

© 2026 Red Hat
Volver arriba