我对 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(使用前将#替换为@)