5.7. 创建全局目录


全局目录可以更好地替代全局模块方法。例如,如果要更改全局模块中列出的库名称,您必须删除全局模块,更改库的名称,然后将库添加到一个新的全局模块。如果您更改了全局目录中列出的库名称,您只需要重新载入服务器,以便对所有部署都可用库名称更改。

使用全局目录,您可以执行以下操作:

  • 在已部署的应用程序间共享多个库。
  • 通过将常用框架(通常添加到应用程序库)移到一个通用位置来维护库。

当您创建全局目录时,EE 子系统配置全局目录,然后扫描目录以创建 JBoss 模块依赖项。模块依赖项包括全局目录库和 JAR 文件。这个模块依赖项还包括以下资源加载程序:

  • 路径资源加载程序提供文件作为应用程序的资源。
  • 资源加载程序向应用提供 JAR 文件中包含的类。

EE 子系统添加了一个模块依赖项,作为对各个部署的应用程序的系统依赖项。

先决条件

  • 在操作系统上创建标准目录。此标准目录必须包含您需要部署到应用程序的所有 JAR 文件和资源。这会创建一个目录树。

    显示复制到应用程序的通用库列表的常用目录示例:

    /my-common-libs/log4j2.xml
    /my-common-libs/libs/log4j-api-2.14.1.jar
    /my-common-libs/libs/log4j-core-2.14.1.jar
    Copy to Clipboard Toggle word wrap

    注意

    由于服务器部署了应用并加载全局目录,因此您无法配置全局目录来覆盖服务器的库版本。全局目录不能替换服务器附带的库。

流程

  1. 根据您的服务器设置,创建一个全局目录。您可以使用可选的 relative-to 属性来设置带有相对路径的全局目录。

    在独立服务器上创建全局目录的示例:

    [standalone@localhost:9990 /] /subsystem=ee/global-directory=my-common-libs:add(path=my-common-libs, relative-to=jboss.home.dir)
    Copy to Clipboard Toggle word wrap

    在受管域中在服务器上创建全局目录的示例:

    [domain@localhost:9990 /] /profile=default/subsystem=ee/global-directory=my-common-libs:add(path=my-common-libs, relative-to=jboss.server.data.dir)
    Copy to Clipboard Toggle word wrap

    对于受管域中的服务器,您可以使用 relative-path 属性将全局目录添加到 JBoss EAP 配置文件下(在 domain.xml 中定义)。您可以指定系统路径或此 relative-to 属性的自定义系统路径。

    注意

    在受管域中运行服务器时,您必须确保全局目录的内容在所有服务器实例之间保持一致。例如,每个主机必须包含包含全局目录内容的本地文件系统目录。

  2. 重新加载服务器实例,以激活全局目录。

    您必须重新加载服务器,以便服务器可以按字母顺序扫描目录树的内容,包括每个子目录级别(从根目录开始)。服务器以字母顺序将来自每个目录级别的文件添加到 JBoss 模块依赖项中。

    如果更改全局目录的内容,或者在全局目录中更改或添加 JAR 文件,您必须重新加载服务器,使更改可供已部署的应用使用。例如,如果您替换全局目录中的 JAR 库,请重新加载服务器,以确保它重新扫描全局目录,并使用更改后的 JAR 库更新部署的应用程序。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat