【问题标题】:Deploying JSF 1.2 based web application to JBoss EAP 7.0将基于 JSF 1.2 的 Web 应用程序部署到 JBoss EAP 7.0
【发布时间】:2018-01-01 14:41:05
【问题描述】:

我有一个基于 JSF 1.2 的 Web 应用程序。 JSF jar 打包在 WAR 库中。我们尝试在 JBoss EAP 7.0 中部署战争,战争成功部署但应用程序没有运行。

我发现 JBoss EAP 7.0 不支持 JSF 1.2 。我的 Web 应用程序不是 JSF 2.0 投诉。如果有人可以列出这样做的步骤,那将是非常有帮助的。

谢谢

【问题讨论】:

  • 你有 JSF 1.2 的模块吗?
  • 不,我没有 JSF 1.2 的模块。我在哪里得到它。提前致谢。

标签: jsf jboss


【解决方案1】:

请尝试以下步骤:

  1. 将 deployment-structure.xml 添加到您的项目(WEB-INF/jboss-deployment-structure.xml 到 WAR 或 META-INF/jboss-deployment-structure.xml 到 EAR),并排除:

        <exclusions>
            <module name="javax.faces.api" slot="main" />
            <module name="com.sun.jsf-impl" slot="main" />
            <module name="org.jboss.as.jsf-injection" slot="main" />
        </exclusions>
    
  2. 导入 pom.xml 中的所有依赖,jsf 需要的。像这样:

    <dependency>
        <groupId>javax.faces</groupId>
        <artifactId>jsf-api</artifactId>
        <version>1.2-b19</version>
    </dependency>
    <dependency>
        <groupId>javax.faces</groupId>
        <artifactId>jsf-impl</artifactId>
        <version>1.2-b19</version>
    </dependency>
    <dependency>
        <groupId>com.sun.facelets</groupId>
        <artifactId>jsf-facelets</artifactId>
        <version>1.1.11</version>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
        <version>1.1.0</version>
    </dependency>
    

【讨论】:

    【解决方案2】:

    实际上,这种组合在 EAP 7 版本的 JBOSS 7.1.5 服务器上对我有用。 这样我就能够从我的 WEB-INF/lib 文件夹中加载 jsf1.2 jar,而不是 JBOSS 7.1.5 提供的。 我有一个包含 WAR 文件的 EAR 文件。

    Web.xml:

     <context-param>  
            <param-name>org.jboss.jbossfaces.WAR_BUNDLES_JSF_IMPL</param-name>  
            <param-value>true</param-value>  
     </context-param>  
    

    入耳META-INF/jboss-deployment-structure.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <jboss-deployment-structure>
     <ear-subdeployments-isolated>true</ear-subdeployments-isolated>
        <deployment>
            <exclusions>
                <module name="javax.faces.api" slot="main" />
                <module name="com.sun.jsf-impl" slot="main" />
            </exclusions>
        </deployment>
    
    
        <sub-deployment name="yourwarfilename.war">
            <exclusions>
                <module name="javax.faces.api" slot="main" />
                <module name="com.sun.jsf-impl" slot="main" />
            </exclusions>
        </sub-deployment>
    </jboss-deployment-structure>
    

    【讨论】:

      猜你喜欢
      • 2018-09-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-07
      • 1970-01-01
      • 2013-04-22
      • 1970-01-01
      • 2018-11-19
      相关资源
      最近更新 更多