Show Table of Contents
3.4. Prevent a Module Being Implicitly Loaded
This task describes how to configure your application to exclude a list of module dependencies.
You can configure a deployable application to prevent implicit dependencies from being loaded. This is commonly done when the application includes a different version of a library or framework than the one that will be provided by the application server as an implicit dependency.
- You must already have a working software project that you want to exclude an implicit dependency from.
- You must know the name of the module to exclude. Refer to Section 3.8.1, “Implicit Module Dependencies” for a list of implicit dependencies and their conditions.
Procedure 3.4. Add dependency exclusion configuration to jboss-deployment-structure.xml
- If the application has no
jboss-deployment-structure.xmlfile, create a new file called
jboss-deployment-structure.xmland add it to the project. This file is an XML file with the root element of
<jboss-deployment-structure> </jboss-deployment-structure>For a web application (WAR) add this file to the
WEB-INFdirectory. For an EJB archive (JAR) add it to the
- Create a
<deployment>element within the document root and an
<exclusions>element within that.
<deployment> <exclusions> </exclusions> </deployment>
- Within the exclusions element, add a
<module>element for each module to be excluded. Set the
nameattribute to the name of the module.
<module name="org.javassist" />
Example 3.5. Excluding two modules
<jboss-deployment-structure> <deployment> <exclusions> <module name="org.javassist" /> <module name="org.dom4j" /> </exclusions> </deployment> </jboss-deployment-structure>