gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:31:10 28 4
gpt4 key购买 nike

我对 javax.faces-2.1.14.jar 与 jsf-api-2.2.0-m05.jar 和 jsf-impl-2.2.0-m05.jar 的区别感到困惑我试图在不使用 maven 的情况下创建一个 jsf 项目,并且在搜索示例时我在不同的教程中看到了不同的 jar 依赖项。教程来自coreservlets使用 javax.faces-2.1.14.jar 和我从不同站点看到的其他教程使用 2 个 jar 文件 jsf-api-2.2.0-m05.jar 和 jsf-impl-2.2.0-m05.jar我想知道这两组依赖关系的区别。提前谢谢大家。

最佳答案

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

javax.faces-xxx.jar 实际上将前面两个 jar 文件合并在一起。在 Maven 存储库中,它位于 org.glassfish groupId 下。您会在里面找到 javax.facescom.sun.faces java 包。

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

关于java - jsf-api-2.2.0-m05.jar 和 jsf-impl-2.2.0-m05.jar 中的 javax.faces-2.1.14.jar 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15561352/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com