Chapter 6. Migrate a JBoss EAP application’s Maven project to JBoss EAP 8.1
To migrate a Red Hat JBoss Enterprise Application Platform Maven project to JBoss EAP 8.1, update its pom.xml file. The file must reflect recent changes. The required updates depend on the source version. Projects based on JBoss EAP 8.0 need updates to component versions and channel manifest coordinates. Projects from JBoss EAP 7.4 require more changes. These include BOM renaming, artifact removal, and updated dependency coordinates. The following sections explain how to update the project for compatibility with JBoss EAP 8.1.
6.1. Migrate a JBoss EAP 8.0 application’s Maven project to JBoss EAP 8.1 Copy linkLink copied to clipboard!
Migrating a JBoss EAP Maven project to JBoss EAP 8.1 might require pom.xml file updates for the following reasons:
If an application is migrated to JBoss EAP 8.1 without any changes, the application will build with incorrect dependencies and might fail to deploy on JBoss EAP 8.1.
6.1.1. Incompatible JBoss EAP component versions Copy linkLink copied to clipboard!
When you update the pom.xml file for your Maven project in JBoss EAP 8.1, you must update the Maven version coordinates for the following JBoss EAP components:
- JBoss EAP BOMs
- JBoss EAP Maven plugin
You can find the latest JBoss EAP component versions compatible with a JBoss EAP release in the Red Hat GA Maven repository for GA releases or the Red Hat’s early access Maven repository for Beta releases.
Use the following guidelines to identify the latest compatible versions:
-
For a JBoss EAP BOM, use the latest
8.1.x.GA-redhat-*, where x matches the JBoss EAP 8.1.x version. For example, use8.1.0.GA-redhat-00006. -
For the JBoss EAP Maven plugin, use the latest
2.0.x.Final-redhat-*. For example, use2.0.0.Final-redhat-00003.
6.1.2. Changes in JBoss EAP channel Manifest coordinates Copy linkLink copied to clipboard!
When you update the pom.xml file for your Maven project in JBoss EAP 8.1, you must update the Maven artifactId coordinate for the JBoss EAP channel manifest.
-
Replace
eap-8.0witheap-8.1.
For example, you can include the JBoss EAP channel manifest in the JBoss EAP Maven plugin configuration, as in the following example:
<plugin>
<groupId>org.jboss.eap.plugins</groupId>
<artifactId>eap-maven-plugin</artifactId>
<configuration>
<channels>
<channel>
<manifest>
<groupId>org.jboss.eap.channels</groupId>
<artifactId>eap-8.0</artifactId>
</manifest>
</channel>
</channels>
</configuration>
</plugin>
After migrating to JBoss EAP 8.1, update the plugin configuration as follows:
<plugin>
<groupId>org.jboss.eap.plugins</groupId>
<artifactId>eap-maven-plugin</artifactId>
<configuration>
<channels>
<channel>
<manifest>
<groupId>org.jboss.eap.channels</groupId>
<artifactId>eap-8.1</artifactId>
</manifest>
</channel>
</channels>
</configuration>
</plugin>
6.1.3. Elytron shaded artifact removed from JBoss EAP BOMs Copy linkLink copied to clipboard!
The Elytron shaded artifact is not supported as a dependency in Maven projects. The JBoss EAP EE and EE With Tools Bill of Materials (BOM) no longer includes the Elytron bundled artifact. Do not use this artifact as a dependency in Maven projects. The artifact includes classes for all Elytron components and their transitive dependencies. In Maven projects, these dependencies cannot be replaced or version-aligned, which might cause issues from incompatible classes.
When you update the pom.xml file for a Maven project in JBoss EAP 8.1 that imports the JBoss EAP EE or EE With Tools BOMs, remove or replace any use of the following managed dependency:
<dependency>
<groupId>org.wildfly.security</groupId>
<artifactId>wildfly-elytron</artifactId>
</dependency>
Remove the Elytron shaded artifact dependency if the Maven project uses one of the following JBoss EAP client BOMs:
<dependency>
<groupId>org.jboss.eap</groupId>
<artifactId>wildfly-ejb-client-bom</artifactId>
<type>pom</type>
</dependency>
<dependency>
<groupId>org.jboss.eap</groupId>
<artifactId>wildfly-jms-client-bom</artifactId>
<type>pom</type>
</dependency>
If the Maven project does not use a JBoss EAP EJB or JMS client, replace the Elytron shaded artifact dependency with one or more of the following Elytron components:
<dependency>
<groupId>org.wildfly.security</groupId>
<artifactId>wildfly-elytron-asn1</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.security</groupId>
<artifactId>wildfly-elytron-audit</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.security</groupId>
<artifactId>wildfly-elytron-auth</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.security</groupId>
<artifactId>wildfly-elytron-auth-server</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.security</groupId>
<artifactId>wildfly-elytron-auth-server-deprecated</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.security</groupId>
<artifactId>wildfly-elytron-auth-server-http</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.security</groupId>
<artifactId>wildfly-elytron-auth-server-sasl</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.security</groupId>
<artifactId>wildfly-elytron-auth-util</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.security</groupId>
<artifactId>wildfly-elytron-base</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.security</groupId>
<artifactId>wildfly-elytron-client</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.security</groupId>
<artifactId>wildfly-elytron-credential</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.security</groupId>
<artifactId>wildfly-elytron-credential-store</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.security</groupId>
<artifactId>wildfly-elytron-digest</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.security</groupId>
<artifactId>wildfly-elytron-dynamic-ssl</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.security</groupId>
<artifactId>wildfly-elytron-encryption</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.security</groupId>
<artifactId>wildfly-elytron-http</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.security</groupId>
<artifactId>wildfly-elytron-http-basic</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.security</groupId>
<artifactId>wildfly-elytron-http-bearer</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.security</groupId>
<artifactId>wildfly-elytron-http-cert</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.security</groupId>
<artifactId>wildfly-elytron-http-digest</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.security</groupId>
<artifactId>wildfly-elytron-http-external</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.security</groupId>
<artifactId>wildfly-elytron-http-form</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.security</groupId>
<artifactId>wildfly-elytron-http-oidc</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.security</groupId>
<artifactId>wildfly-elytron-http-spnego</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.security</groupId>
<artifactId>wildfly-elytron-http-sso</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.security</groupId>
<artifactId>wildfly-elytron-http-util</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.security</groupId>
<artifactId>wildfly-elytron-json-util</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.security</groupId>
<artifactId>wildfly-elytron-jose-jwk</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.security</groupId>
<artifactId>wildfly-elytron-jose-util</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.security</groupId>
<artifactId>wildfly-elytron-keystore</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.security</groupId>
<artifactId>wildfly-elytron-mechanism</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.security</groupId>
<artifactId>wildfly-elytron-mechanism-digest</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.security</groupId>
<artifactId>wildfly-elytron-mechanism-gssapi</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.security</groupId>
<artifactId>wildfly-elytron-mechanism-http</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.security</groupId>
<artifactId>wildfly-elytron-mechanism-oauth2</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.security</groupId>
<artifactId>wildfly-elytron-mechanism-scram</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.security</groupId>
<artifactId>wildfly-elytron-password-impl</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.security</groupId>
<artifactId>wildfly-elytron-permission</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.security</groupId>
<artifactId>wildfly-elytron-realm</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.security</groupId>
<artifactId>wildfly-elytron-realm-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.security</groupId>
<artifactId>wildfly-elytron-realm-ldap</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.security</groupId>
<artifactId>wildfly-elytron-realm-token</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.security</groupId>
<artifactId>wildfly-elytron-sasl</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.security</groupId>
<artifactId>wildfly-elytron-sasl-anonymous</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.security</groupId>
<artifactId>wildfly-elytron-sasl-auth-util</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.security</groupId>
<artifactId>wildfly-elytron-sasl-digest</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.security</groupId>
<artifactId>wildfly-elytron-sasl-entity</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.security</groupId>
<artifactId>wildfly-elytron-sasl-external</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.security</groupId>
<artifactId>wildfly-elytron-sasl-gs2</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.security</groupId>
<artifactId>wildfly-elytron-sasl-gssapi</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.security</groupId>
<artifactId>wildfly-elytron-sasl-localuser</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.security</groupId>
<artifactId>wildfly-elytron-sasl-oauth2</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.security</groupId>
<artifactId>wildfly-elytron-sasl-otp</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.security</groupId>
<artifactId>wildfly-elytron-sasl-plain</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.security</groupId>
<artifactId>wildfly-elytron-sasl-scram</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.security</groupId>
<artifactId>wildfly-elytron-security-manager</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.security</groupId>
<artifactId>wildfly-elytron-security-manager-action</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.security</groupId>
<artifactId>wildfly-elytron-ssl</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.security</groupId>
<artifactId>wildfly-elytron-ssh-util</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.security</groupId>
<artifactId>wildfly-elytron-util</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.security</groupId>
<artifactId>wildfly-elytron-x500</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.security</groupId>
<artifactId>wildfly-elytron-x500-cert</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.security</groupId>
<artifactId>wildfly-elytron-x500-cert-acme</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.security</groupId>
<artifactId>wildfly-elytron-x500-cert-util</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.security</groupId>
<artifactId>wildfly-elytron-x500-principal</artifactId>
</dependency>
6.2. Migrate JBoss EAP 7.4 application’s Maven project to JBoss EAP 8.1 Copy linkLink copied to clipboard!
If your Maven project uses JBoss EAP 7.4 BOMs to manage dependencies, you must update its pom.xml file when migrating to JBoss EAP 8.1. This is required because of the following major changes in the JBoss EAP 8.0 BOMs.
When migrating to JBoss EAP 8.1, consider the following:
- Migrating without changes results in incorrect dependencies and can cause deployment failures.
- After updating the Maven project as described in this section, you might also need to apply the modifications described in Elytron shaded artifact removed from JBoss EAP BOMs when migrating from JBoss EAP 7.4.
6.2.1. Renaming of JBoss EAP Jakarta EE 8 Copy linkLink copied to clipboard!
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>
You must update the BOM version. For instructions on finding the latest version of JBoss EAP BOMs, see Incompatible JBoss EAP component versions.
6.2.2. Renaming of JBoss EAP Jakarta EE 8 with tools Copy linkLink copied to clipboard!
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>
You must update the BOM version. For instructions on finding the latest version of JBoss EAP BOMs, see Incompatible JBoss EAP component versions.
6.2.3. Removal of JBoss EAP Jakarta EE 8 APIs Copy linkLink copied to clipboard!
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>
You must update the BOM version. For instructions on finding the latest version of JBoss EAP BOMs, see Incompatible JBoss EAP component versions.
6.2.4. Removal of the JBoss EAP Runtime BOM Copy linkLink copied to clipboard!
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>
You must update the BOM version. For instructions on finding the latest version of JBoss EAP BOMs, see Incompatible JBoss EAP component versions.
6.2.5. Jakarta EE and JBoss APIs Maven Coordinates changes Copy linkLink copied to clipboard!
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>
6.2.6. Removal of JBoss EJB client legacy BOM Copy linkLink copied to clipboard!
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>
You must update the BOM version. For instructions on finding the latest version of JBoss EAP BOMs, see Incompatible JBoss EAP component versions.
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.
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.