阻止野蝇战争初始化 mojarra

Posted

技术标签:

【中文标题】阻止野蝇战争初始化 mojarra【英文标题】:Stop wildfly war from initializing mojarra 【发布时间】:2017-06-13 15:32:39 【问题描述】:

每当我向 wildfly 8 或 10(在本例中是 jax-rs 服务)部署战争时,我都会看到以下行

[javax.enterprise.resource.webcontainer.jsf.config] (ServerService 线程池 -- 151) 为上下文初始化 Mojarra 2.2.11-jbossorg-1 20150505-1501

由于应用程序中没有使用 JSF,有没有办法阻止 mojarra 被初始化?

【问题讨论】:

您的 WEB-INF/ 文件夹中有 faces-config.xml 文件吗?这可能是一种隐含的依赖关系。 我曾经做过,但删除它没有效果 您是否偶然在部署中包含任何 JSF 依赖项? 我看不到 【参考方案1】:

你可以删除

<subsystem xmlns="urn:jboss:domain:jsf:1.0"/>

来自您的个人资料。 它应该停止 Mojarra 初始化。

【讨论】:

afaik,JSF 仅在需要时“启用”(延迟加载)。因此,如果您像答案建议的那样禁用它,我认为您会遇到不同的错误(因为它似乎确实需要以一种或另一种方式) 如果延迟加载,为什么要初始化类?你试过这个吗?服务器启动正常。我认为您会遇到不同的错误(因为它似乎确实需要以一种或另一种方式)请尝试然后回复,我会等待【参考方案2】:

将 jboss-deployment-structure.xml 文件添加到您的 WEB-INF 文件夹以停止单个战争的部署

<jboss-deployment-structure>
  <deployment>
    <exclude-subsystems>
      <subsystem name="jsf" />
    </exclude-subsystems>
  </deployment>
</jboss-deployment-structure>

【讨论】:

我将它添加到WEB-INF文件夹中,但没有任何效果。我们是否必须将其添加到 WEB-INF 文件夹或 META-INF 文件夹?我问作为我参与的项目,有人已经在 META-INF 文件夹中添加了一个 jboss-deployment-structure.xml 文件。不知道这是否有效。 正确的 XML 应该有命名空间声明:xmlns="urn:jboss:deployment-structure:1.3"

以上是关于阻止野蝇战争初始化 mojarra的主要内容,如果未能解决你的问题,请参考以下文章

Struts2无法在可执行的战争中初始化Dispatcher - 嵌入式Tomcat

@ViewScoped JSF bean 被多次初始化

Arquillian:嵌入野蝇?

如何阻止 Flask 在调试模式下初始化两次? [复制]

nvidia-smi 无法初始化 NVML:GPU 访问被操作系统阻止

如何在 Vuex 操作完成之前阻止 Vue 生命周期继续进行?