1

各位,请指教。我有一个包含许多 Maven 模块的 Maven 项目。这些模块是 java web 应用程序和一个 jar,这些 web 应用程序依赖于它并包含核心功能(我们称之为 core.jar)。我将它们部署到Wildfly应用服务器的稳定版本没有问题,一切正常。但是,我注意到我所有的战争文件在WEB-INF/lib文件夹中都包含相同的 core.jar。你能告诉我是否可以只部署一次 core.jar 并让所有战争文件都看到它?我现在唯一能想到的就是将此 core.jar 安装为 jboss 模块(像这样),并从每个 Web 应用程序的清单文件中引用它。你怎么看?

问候, 奥列格

4

1 回答 1

1

最好的解决方案可能是创建 JBoss 模块。是一个使用 OJDBC 的示例。此外,您需要配置一个共享库。您可以使用 JBoss 特定的部署描述符,名为 jboss-app.xml,该描述符将放置在您的 EAR 的 META-INF 文件夹中。这是它的一个示例:

<!DOCTYPE jboss-app PUBLIC "-//JBoss//DTD J2EE Application 5.0//EN"
"http://www.jboss.org/j2ee/dtd/jboss-app_5_0.dtd" >
<jboss-app>
    <library-directory>APP-INF/lib</library-directory>
</jboss-app>

检查类加载规范可能对您很有价值。

于 2014-08-07T14:01:09.380 回答