6.3. 创建自定义模块


可以添加自定义静态模块,使资源可供在 JBoss EAP 上运行的部署使用。您可以手动创建 模块,也可以使用 管理 CLI 创建模块。

创建模块后,如果应用程序需要提供其资源 ,您必须将模块添加为依赖项

手动创建自定义模块

您可以按照以下步骤手动创建自定义模块。

  1. EAP_HOME/modules/ 目录中创建适当的目录结构。

    示例:创建 MySQL JDBC 驱动程序目录结构

    $ cd EAP_HOME/modules/
    $ mkdir -p com/mysql/main
    Copy to Clipboard Toggle word wrap

  2. 将 JAR 文件或其他必要的资源复制到 main/ 子目录。

    示例:复制 MySQL JDBC 驱动程序 JAR

    $ cp /path/to/mysql-connector-java-5.1.36-bin.jar EAP_HOME/modules/com/mysql/main/
    Copy to Clipboard Toggle word wrap

  3. 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>
    Copy to Clipboard Toggle word wrap

使用管理 CLI 创建自定义模块

您可以使用 module add management CLI 命令来创建自定义模块。

重要

使用 module 管理 CLI 命令来添加和删除模块,仅作为技术预览提供。此命令不适用于受管域或远程连接到管理 CLI 时。应在生产环境中手动 添加和删除 模块。

  1. 启动 JBoss EAP 服务器。
  2. 启动管理 CLI,但不使用 --connect-c 参数连接正在运行的实例。

    $ EAP_HOME/bin/jboss-cli.sh
    Copy to Clipboard Toggle word wrap
  3. 使用 module add management CLI 命令来添加新的核心模块。

    module add --name=MODULE_NAME --resources=PATH_TO_RESOURCE --dependencies=DEPENDENCIES
    Copy to Clipboard Toggle word wrap

执行 module --help 以了解有关使用这个命令添加和删除模块的更多详细信息。

将模块添加为依赖模块

要让您的应用能够访问此模块的资源,您需要将该模块添加为依赖项。

例如,以下步骤添加一个 JAR 文件,其中包含多个属性文件作为模块,并定义一个全局模块,以便应用随后加载这些属性。

  1. 将 JAR 文件添加为核心模块。

    module add --name=myprops --resources=/path/to/properties.jar
    Copy to Clipboard Toggle word wrap
  2. 将此模块定义为全局模块,以便所有部署都可用。

    /subsystem=ee:list-add(name=global-modules,value={name=myprops})
    Copy to Clipboard Toggle word wrap
  3. 然后,应用可以从 JAR 中包含的其中一个属性文件中检索属性。

    Thread.currentThread().getContextClassLoader().getResource("my.properties");
    Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat