【问题标题】:use application lib instead of app server lib使用应用程序库而不是应用程序服务器库
【发布时间】:2014-05-15 13:52:34
【问题描述】:

我将在 eclipse 中创建一个企业项目并使用 Wildfly 应用程序服务器。 在我的项目中,我有一些库可能存在于 Wildfy lib 文件夹中。
我怎么能对应用服务器说,如果您需要在您的lib 和我的项目lib 中存在的任何库,请使用我的项目中存在的那个库。 例如 Wildfly 包含 JSF 实现,我将使用 Primefaces。我将 Primefaces 库添加到我的项目类路径中,我将 Wildfly 使用它,但 Wildfly 使用它自己的实例。
谢谢。

【问题讨论】:

    标签: jakarta-ee jboss application-server wildfly


    【解决方案1】:

    不幸的是,这并不容易。 JBoss 引入了模块的概念。如果您想覆盖 JBoss 提供的库版本,您需要了解它们是如何工作的。在此处查看文档:

    https://docs.jboss.org/author/display/WFLY8/Class+Loading+in+WildFly

    https://docs.jboss.org/author/display/WFLY8/Implicit+module+dependencies+for+deployments

    【讨论】:

    • 感谢您更新链接...不知道我是怎么错过的:-/
    【解决方案2】:

    如果您将库添加到 lib 目录,WildFly 会将这些库包含在您的类路径中。这意味着如果您包含 Primefaces,您将在类路径中获得 Primefaces。 WildFly 不包含 Primefaces 作为模块。

    对于服务器依赖项,例如 JSF 实现,WildFly 将首先加载它提供的依赖项,然后再加载您的 lib 目录中的依赖项。那就是说你真的不想像这样覆盖实现。它是 Java EE 规范的一部分,将由任何符合 Java EE 的服务器提供。

    您还应该阅读jgitter 建议的链接。

    【讨论】:

      猜你喜欢
      • 2018-05-24
      • 1970-01-01
      • 2020-06-11
      • 2013-09-30
      • 2014-11-16
      • 1970-01-01
      • 2010-10-07
      • 1970-01-01
      • 2012-10-21
      相关资源
      最近更新 更多