如何在WildFly上安装JSF2.3的一个jar变体(javax.faces.jar)

如何在WildFly上安装JSF2.3的一个jar变体(javax.faces.jar),jsf,wildfly,jsf-2.3,Jsf,Wildfly,Jsf 2.3,我想在我的应用程序中使用JSF2.3,但WildFly在2.2中使用了2JAR变体 Oracle在此表示不会发布2.3 2 JAR版本。以下是手动过程: 使用ZIP工具提取javax.faces.jar。您将获得3个文件夹com,javax,META-INF(注意:在某些版本中,您还会在根目录中看到一个jsf.js文件,但这是一个错误,您应该忽略它,它已经位于META-INF/resources/javax.faces) 使用ZIP工具将com和META-INF文件夹打包到jsf impl.j

我想在我的应用程序中使用JSF2.3,但WildFly在2.2中使用了2JAR变体


Oracle在此表示不会发布2.3 2 JAR版本。

以下是手动过程:

  • 使用ZIP工具提取javax.faces.jar。您将获得3个文件夹
    com
    javax
    META-INF

    (注意:在某些版本中,您还会在根目录中看到一个
    jsf.js
    文件,但这是一个错误,您应该忽略它,它已经位于
    META-INF/resources/javax.faces

  • 使用ZIP工具将
    com
    META-INF
    文件夹打包到
    jsf impl.jar

  • 然后,删除
    META-INF
    中除
    MANIFEST.MF
    之外的所有文件/子文件夹

  • 使用ZIP工具将
    javax
    META-INF
    文件夹打包到
    jsfapi.jar

  • 继续使用这些罐子:


  • 对于感兴趣的人来说,JBossAS和WildFly在内部对基于JavaEE的API和impl文件进行了模块化分离。仍然需要分离的JAR文件
    jsfapi.JAR
    jsf impl.JAR
    。原因并不是真正的技术问题,而是一种额外的服务,迫使开发人员根据正确的库进行编程。只有API模块在编译时公开(通常通过IDE集成插件将它们添加到“构建路径”)。这应该避免初学者意外地发现、导入和使用实现类,例如
    com.sun.faces.*
    包中的实现类


    从1.x版开始,JSF实现Mojara就由两个JAR文件组成:
    jsfapi.JAR
    JSF impl.JAR
    。API JAR包含
    javax.faces.*
    类,实现JAR包含
    com.sun.faces.*
    类。由于构建系统符合JavaEEMaven规则,API和实现类都合并到一个
    javax.faces.jar
    文件中,另请参见(2011年12月从Mojarra 2.1.6开始)。自Mojarra 2.3以来,不再构建分离的JAR文件。

    以下是手动过程:

  • 使用ZIP工具提取javax.faces.jar。您将获得3个文件夹
    com
    javax
    META-INF

    (注意:在某些版本中,您还会在根目录中看到一个
    jsf.js
    文件,但这是一个错误,您应该忽略它,它已经位于
    META-INF/resources/javax.faces

  • 使用ZIP工具将
    com
    META-INF
    文件夹打包到
    jsf impl.jar

  • 然后,删除
    META-INF
    中除
    MANIFEST.MF
    之外的所有文件/子文件夹

  • 使用ZIP工具将
    javax
    META-INF
    文件夹打包到
    jsfapi.jar

  • 继续使用这些罐子:


  • 对于感兴趣的人来说,JBossAS和WildFly在内部对基于JavaEE的API和impl文件进行了模块化分离。仍然需要分离的JAR文件
    jsfapi.JAR
    jsf impl.JAR
    。原因并不是真正的技术问题,而是一种额外的服务,迫使开发人员根据正确的库进行编程。只有API模块在编译时公开(通常通过IDE集成插件将它们添加到“构建路径”)。这应该避免初学者意外地发现、导入和使用实现类,例如
    com.sun.faces.*
    包中的实现类


    从1.x版开始,JSF实现Mojara就由两个JAR文件组成:
    jsfapi.JAR
    JSF impl.JAR
    。API JAR包含
    javax.faces.*
    类,实现JAR包含
    com.sun.faces.*
    类。由于构建系统符合JavaEEMaven规则,API和实现类都合并到一个
    javax.faces.jar
    文件中,另请参见(2011年12月从Mojarra 2.1.6开始)。自从Mojarra 2.3以来,不再构建分离的JAR文件。

    而WildFly不能使用单JAR变体吗?这是在什么地方说的吗?
    javax.faces.jar
    仅用于GlassFish。其余的都是类似的,WildFly不能使用一个罐子的变体吗?这是在什么地方说的吗?
    javax.faces.jar
    仅用于GlassFish。其余的都差不多,