Red Hat Training

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

3.8. Deploy Tag Library Descriptors (TLDs) in a Custom Module

Summary

If you have multiple applications that use common Tag Library Descriptors (TLDs), it may be useful to separate the TLDs from the applications so that they are located in one central and unique location. This enables easier additions and updates to TLDs without necessarily having to update each individual application that uses them.

This can be done by creating a custom JBoss EAP 6 module that contains the TLD JARs, and declaring a dependency on that module in the applications.
Prerequisites

  • At least one JAR containing TLDs. Ensure that the TLDs are packed in META-INF.

Procedure 3.7. Deploy TLDs in a Custom Module

  1. Using the Management CLI, connect to your JBoss EAP 6 instance and execute the following command to create the custom module containing the TLD JAR:
    module add --name=MyTagLibs --resources=/path/to/TLDarchive.jar
    If the TLDs are packaged with classes that require dependencies, use the --dependencies=DEPENDENCY option to ensure that you specify those dependencies when creating the custom module.
    When creating the module, you can specify multiple JAR resources by separating each one with :. For example, --resources=/path/to/one.jar:/path/to/two.jar
  2. In your applications, declare a dependency on the new MyTagLibs custom module using one of the methods described in Section 3.2, “Add an Explicit Module Dependency to a Deployment”.

    Important

    Ensure that you also import META-INF when declaring the dependency. For example, for MANIFEST.MF:
    Dependencies: com.MyTagLibs meta-inf
    Or, for jboss-deployment-structure.xml, use the meta-inf attribute.
Result

In your applications you can use TLDs that are contained in the new custom module.