【问题标题】:I don't want to refer server side jars for my project, My primefaces+spring project has to use the jars that i added to lib folder我不想为我的项目引用服务器端 jar,我的 primefaces+spring 项目必须使用我添加到 lib 文件夹中的 jar
【发布时间】:2017-09-05 05:43:23
【问题描述】:

我正在开发 Primefaces + Spring 项目。最近我们将项目从 JSF 1.2 迁移到 2.2 版本。以前我们的项目使用项目的 lib 文件夹中的 jsf 实现和 API jar,但现在它使用位于的 jar,

**\wildfly-10.0.0.Final\modules\system\layers\base\com\sun\jsf-impl\main**

**\wildfly-10.0.0.Final\modules\system\layers\base\javax\faces\api\main**

在 Wildfly 10.x 上部署时抛出 Services which failed to start 错误, JBAS014777:服务启动失败:服务 jboss.deployment.unit."abc.war".POST_MODULE: org.jboss.msc.service.StartException in service jboss.deployment.unit."abc.war".POST_MODULE: 未能部署“abc.war”的处理阶段 POST_MODULE

如何配置我的项目以使用 lib jars。这将有助于部署。

【问题讨论】:

  • 你使用哪种打包工具(ant, maven..)?
  • 这是蚂蚁@Xtreme Biker
  • 您是否有理由要使用捆绑版本? Java EE 容器的重点是为您提供实现。

标签: wildfly jsf-2.2 web.xml jsf-1.2


【解决方案1】:

Wildfly 10 隐式添加了一些依赖项。您可以找到它们的列表here

对于网络子系统,这些是:

  • javaee.api
  • com.sun.jsf-impl
  • org.hibernate.validator
  • org.jboss.as.web
  • org.jboss.logging

如果您不想要其中之一,例如在您的情况下为 com.sun.jsf-impl,您可以使用 jboss-deployment-structure.xml 文件排除它们,如 here 所述。

在您的情况下,它可能如下所示:

<jboss-deployment-structure>
  <deployment>
    <exclusions>
      <module name="com.sun.jsf-impl" />
    </exclusions>
  </deployment>
</jboss-deployment-structure>

可能你可能需要更多的排除,但原则应该很清楚。

【讨论】:

    猜你喜欢
    • 2018-07-17
    • 2014-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-18
    • 2018-06-30
    • 2021-01-30
    相关资源
    最近更新 更多