jsf-api-2.2.0-m05.jar 和 jsf-impl-2.2.0-m05.jar 中的 javax.faces-2.1.14.jar 有什么区别

2024-02-05

我对 javax.faces-2.1.14.jar 与 jsf-api-2.2.0-m05.jar 和 jsf-impl-2.2.0-m05.jar 的区别感到困惑 我正在尝试在不使用 maven 的情况下创建一个 jsf 项目,在搜索示例时我看到了不同教程的不同 jar 依赖项。教程来自核心servlet http://www.coreservlets.com/JSF-Tutorial/jsf2/使用 javax.faces-2.1.14.jar ,我从另一个站点看到的另一个教程使用 2 个 jar 文件 jsf-api-2.2.0-m05.jar 和 jsf-impl-2.2.0-m05.jar 我想知道这两组依赖关系的区别。 预先感谢各位。


The jsf-api-xxx.jar包含 java 包下的类javax.faces。该 jar 中的类是 JSF 规范定义的标准 API 的实现。这jsf-impl-xxx.jar包含java包下的类com.sun.faces正如 java 包所示,它是 Sun 自己的用于 JSF 实现的类。

The javax.faces-xxx.jar实际上是将前面的两个jar文件合并在一起。在 Maven 存储库中,它位于org.glassfish组 ID。你会发现两者javax.faces and com.sun.faces里面有java包。

那么您应该使用什么来进行开发呢?实际上你可以同时使用两者。但推荐的方法是包括jsf-api-xxx.jar仅在编译类路径中。因此,您自己的应用程序不依赖于以下任何类com.sun.faces包来实现可移植性到其他 JSF 实现。如果您使用的是 GlassFish 等应用程序,则容器应该已经在运行时提供 JSF 实现。您不应该将上述 JSF jar 文件与您的 war 或ear 文件打包在一起,因为服务器将提供所有这些文件。如果使用Tomcat等默认不自带JSF实现的容器,则需要打包javax.faces-xxx.jar or (jsf-api-xxx.jar + jsf-impl-xxx.jar) 在里面WEB-INF/lib.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jsf-api-2.2.0-m05.jar 和 jsf-impl-2.2.0-m05.jar 中的 javax.faces-2.1.14.jar 有什么区别 的相关文章

随机推荐