gpt4 book ai didi

maven - com.sun.faces > jsf-impl 和 org.glassfish > javax.faces (2.2.4) 的差异/相等

转载 作者:行者123 更新时间:2023-12-04 14:44:01 24 4
gpt4 key购买 nike

在我的 JSF2 应用程序中,我在 Primefaces (5.1) 自动完成中遇到了 NPE
org.primefaces.component.autocomplete.AutoCompleteRenderer
.encodeSuggestionsAsList(AutoCompleteRenderer.java:492)

我已经通过替换 maven 依赖解决了我的问题

<dependency>
<groupId>com.sun.faces</groupId>
<artifactId>jsf-impl</artifactId>
<version>2.2.4</version>
</dependency>

经过
<dependency>
<groupId>org.glassfish</groupId>
<artifactId>javax.faces</artifactId>
<version>2.2.4</version>
</dependency>

这让我很困惑。

搜索项目主页,我找到了这些 Maven 存储库:

http://mvnrepository.com/artifact/com.sun.faces/jsf-impl/2.2.4
http://mvnrepository.com/artifact/org.glassfish/javax.faces/2.2.4

它们都声明与主页相同的描述并引用相同的 URL:

说明:Oracle 对 JSF 2.2 规范 (2.2.4) 的实现
首页: http://java.sun.com/javaee/javaserverfaces/

有人可以解释一下区别吗?不应该完全一样吗?

提示:我知道 sun 和 Oracle 的历史。 ;)

最佳答案

com.sun.faces:jsf-impl 仅包含实现 (Mojarra)。它缺少 API。你需要一个 com.sun.faces:jsf-api 沿着它。

org.glassfish:javax.faces 是包含 API 和 impl 的单 JAR 包(您也可以按文件大小查看)。

至于您只使用 jsf-impl 时的具体问题,显然你忘记了 jsf-api ,或者你依赖 javax:javaee-web-api 而实际上使用的是非 Java EE 容器,如 Tomcat。

关于maven - com.sun.faces > jsf-impl 和 org.glassfish > javax.faces (2.2.4) 的差异/相等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27942472/

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