如何在 WildFly 上安装 JSF 2.3 (javax.faces.jar) 的一个 jar 变体
How to install one jar variant of JSF 2.3 (javax.faces.jar) on WildFly
我想在我的应用程序上使用 JSF 2.3,但 WildFly 使用 2.2 的 2 JAR 变体。
Oracle 在这里说 https://javaserverfaces.java.net/2.3/download.html 不会发布 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
中的所有files/subfolders 除了 of MANIFEST.MF
.
使用 ZIP 工具将 javax
和 META-INF
文件夹打包到 jsf-api.jar
中。
在此处继续使用这些 JAR:Upgrade JSF / Mojarra in JBoss AS / EAP / WildFly。
感兴趣的是,JBoss AS 和 WildFly 在内部对基于 API 的 API 和 impl 文件的 Java EE 进行了模块化分离。分离的 JAR 文件 jsf-api.jar
和 jsf-impl.jar
仍然需要。原因不是真正的技术,而只是一种额外的服务,迫使开发人员针对正确的库进行编程。只有 API 模块在编译期间暴露(通常,通过 IDE 集成插件将它们添加到“构建路径”)。这应该避免初学者意外发现、导入和使用实现 类,例如 com.sun.faces.*
包中的实现。
从版本 1.x 开始,JSF 实现 Mojarra 就由两个 JAR 文件组成:jsf-api.jar
和 jsf-impl.jar
。 API JAR 包含 javax.faces.*
类,实现 JAR 包含 com.sun.faces.*
类。由于构建系统的更改符合 Java EE Maven 规则,API 和实现 类 都合并到一个 javax.faces.jar
文件中,另请参阅 issue 2028 (从 2011 年 12 月的 Mojarra 2.1.6 开始)。从 Mojarra 2.3 开始,不再构建分离的 JAR 文件。
我想在我的应用程序上使用 JSF 2.3,但 WildFly 使用 2.2 的 2 JAR 变体。
Oracle 在这里说 https://javaserverfaces.java.net/2.3/download.html 不会发布 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
中的所有files/subfolders 除了 ofMANIFEST.MF
.使用 ZIP 工具将
javax
和META-INF
文件夹打包到jsf-api.jar
中。在此处继续使用这些 JAR:Upgrade JSF / Mojarra in JBoss AS / EAP / WildFly。
感兴趣的是,JBoss AS 和 WildFly 在内部对基于 API 的 API 和 impl 文件的 Java EE 进行了模块化分离。分离的 JAR 文件 jsf-api.jar
和 jsf-impl.jar
仍然需要。原因不是真正的技术,而只是一种额外的服务,迫使开发人员针对正确的库进行编程。只有 API 模块在编译期间暴露(通常,通过 IDE 集成插件将它们添加到“构建路径”)。这应该避免初学者意外发现、导入和使用实现 类,例如 com.sun.faces.*
包中的实现。
从版本 1.x 开始,JSF 实现 Mojarra 就由两个 JAR 文件组成:jsf-api.jar
和 jsf-impl.jar
。 API JAR 包含 javax.faces.*
类,实现 JAR 包含 com.sun.faces.*
类。由于构建系统的更改符合 Java EE Maven 规则,API 和实现 类 都合并到一个 javax.faces.jar
文件中,另请参阅 issue 2028 (从 2011 年 12 月的 Mojarra 2.1.6 开始)。从 Mojarra 2.3 开始,不再构建分离的 JAR 文件。