Red Hat Training

A Red Hat training course is available for Red Hat JBoss Enterprise Application Platform

3.9. Reference

3.9.1. Implicit Module Dependencies

The following table lists the modules that are automatically added to deployments as dependencies and the conditions that trigger the dependency.

Table 3.1. Implicit Module Dependencies

Subsystem Responsible for Adding the Dependency Dependencies That Are Always Added Dependencies That Are Conditionally Added Conditions That Trigger the Addition of the Dependency
Core Server
  • javax.api
  • ibm.jdk
  • sun.jdk
  • org.jboss.vfs
EE subsystem
  • javaee.api
  • org.hibernate.validator
  • org.jboss.invocation
EJB 3 subsystem
  • javax.ejb.api
  • org.jboss.ejb-client
  • org.jboss.iiop-client
The presence of an ejb-jar.xml file within a valid location in the deployment, as described in the Java EE 6 specification.
The presence of annotation-based EJBs, for example: @Stateless, @Stateful, @MessageDriven
JAX-RS (RESTEasy) subsystem
  • javax.xml.bind.api
  • org.jboss.resteasy.resteasy-atom-provider
  • org.jboss.resteasy.resteasy-hibernatevalidator-provider
  • org.jboss.resteasy.resteasy-jaxrs
  • org.jboss.resteasy.resteasy-jaxb-provider
  • org.jboss.resteasy.resteasy-jackson-provider
  • org.jboss.resteasy.resteasy-jettison-provider
  • org.jboss.resteasy.resteasy-jsapi
  • org.jboss.resteasy.resteasy-multipart-provider
  • org.jboss.resteasy.resteasy-yaml-provider
  • org.codehaus.jackson.jackson-core-asl
The presence of JAX-RS annotations in the deployment.
JCA subsystem
  • javax.resource.api
  • javax.jms.api
  • javax.validation.api
  • org.jboss.ironjacamar.api
  • org.jboss.ironjacamar.impl
  • org.hibernate.validator
The deployment of a resource adapter (RAR) archive.
JPA (Hibernate) subsystem
  • javax.persistence.api
  • javaee.api
  • org.javassist
  • /
  • org.hibernate.envers
  • org.jboss.jandex
The presence of an @PersistenceUnit or @PersistenceContext annotation, or a <persistence-unit-ref> or <persistence-context-ref> element in a deployment descriptor.
JBoss EAP 6 maps persistence provider names to module names. If you name a specific provider in the persistence.xml file, a dependency is added for the appropriate module. If this not the desired behavior, you can exclude it using a jboss-deployment-structure.xml file.
Logging subsystem
  • org.jboss.logging
  • org.apache.log4j
  • org.apache.commons.logging
  • org.slf4j
  • org.jboss.logging.jul-to-slf4j-stub
These dependencies are always added unless the add-logging-api-dependencies attribute is set to false.
SAR subsystem
  • org.jboss.modules
  • org.jboss.common-beans
The deployment of a SAR archive.
Security subsystem
  • org.picketbox
Web subsystem
  • javax.servlet.api
  • javax.servlet.jsp.api
  • javax.websocket.api
  • javax.servlet.jstl.api
The deployment of a WAR archive. JavaServer Faces (JSF) is added only if it is used.
Web Services subsystem
  • javax.jws.api
  • javax.xml.soap.api
If it is not application client type, then it will add the conditional dependencies
Weld (CDI) Subsystem
  • javax.enterprise.api
  • javax.inject.api
  • javax.persistence.api
  • javaee.api
  • org.javassist
  • org.jboss.weld.core
  • org.jboss.weld.api
  • org.jboss.weld.spi
The presence of a beans.xml file in the deployment.
Container Managed Persistence (CMP) Subsystem

3.9.2. Included Modules

A table listing the JBoss EAP 6 included modules and whether they are supported can be found on the Customer Portal at

3.9.3. JBoss Deployment Structure Deployment Descriptor Reference

The key tasks that can be performed using this deployment descriptor are:
  • Defining explicit module dependencies.
  • Preventing specific implicit dependencies from loading.
  • Defining additional modules from the resources of that deployment.
  • Changing the subdeployment isolation behavior in that EAR deployment.
  • Adding additional resource roots to a module in an EAR.