6.3. 创建自定义模块
可以添加自定义静态模块,使资源可供在 JBoss EAP 上运行的部署使用。您可以手动创建 模块,也可以使用 管理 CLI 创建模块。
创建模块后,如果应用程序需要提供其资源 ,您必须将模块添加为依赖项。
手动创建自定义模块
您可以按照以下步骤手动创建自定义模块。
在
EAP_HOME/modules/
目录中创建适当的目录结构。示例:创建 MySQL JDBC 驱动程序目录结构
$ cd EAP_HOME/modules/ $ mkdir -p com/mysql/main
将 JAR 文件或其他必要的资源复制到
main/
子目录。示例:复制 MySQL JDBC 驱动程序 JAR
$ cp /path/to/mysql-connector-java-5.1.36-bin.jar EAP_HOME/modules/com/mysql/main/
在
main/
子目录中创建module.xml
文件,在 文件中指定适当的资源和依赖项。示例:MySQL JDBC 驱动程序
module.xml
文件<?xml version="1.0" ?> <module xmlns="urn:jboss:module:1.1" name="com.mysql"> <resources> <resource-root path="mysql-connector-java-5.1.36-bin.jar"/> </resources> <dependencies> <module name="javax.api"/> <module name="javax.transaction.api"/> </dependencies> </module>
使用管理 CLI 创建自定义模块
您可以使用 module add
management CLI 命令来创建自定义模块。
- 启动 JBoss EAP 服务器。
启动管理 CLI,但不使用
--connect
或-c
参数连接正在运行的实例。$ EAP_HOME/bin/jboss-cli.sh
使用
module add
management CLI 命令来添加新的核心模块。module add --name=MODULE_NAME --resources=PATH_TO_RESOURCE --dependencies=DEPENDENCIES
执行 module --help
以了解有关使用这个命令添加和删除模块的更多详细信息。
将模块添加为依赖模块
要让您的应用能够访问此模块的资源,您需要将该模块添加为依赖项。
- 有关使用部署描述符添加特定于应用程序的依赖项的信息,请参阅 JBoss EAP 开发指南中的 Add a Explicit Module Dependency to a Deployment 部分。
- 有关将 模块作为依赖项添加到所有应用程序的说明,请参阅 定义 全局模块部分。
例如,以下步骤添加一个 JAR 文件,其中包含多个属性文件作为模块,并定义一个全局模块,以便应用随后加载这些属性。
将 JAR 文件添加为核心模块。
module add --name=myprops --resources=/path/to/properties.jar
将此模块定义为全局模块,以便所有部署都可用。
/subsystem=ee:list-add(name=global-modules,value={name=myprops})
然后,应用可以从 JAR 中包含的其中一个属性文件中检索属性。
Thread.currentThread().getContextClassLoader().getResource("my.properties");