com.sun.faces 的 Difference/Equality > jsf-impl 和 org.glassfish > javax.faces (2.2.4)
Difference/Equality of com.sun.faces > jsf-impl and org.glassfish > javax.faces (2.2.4)
在我的 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
contains only the implementation (Mojarra). It lacks the API. You'd need a com.sun.faces:jsf-api
顺着吧。
org.glassfish:javax.faces
是包含 API 和 impl 的单个 JAR 包(您也可以在文件大小上看到它)。
关于您仅使用 jsf-impl
时的具体问题,显然您忘记了 jsf-api
,或者您在实际使用非 Java 时依赖 javax:javaee-web-api
EE 容器,如 Tomcat.
在我的 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
contains only the implementation (Mojarra). It lacks the API. You'd need a com.sun.faces:jsf-api
顺着吧。
org.glassfish:javax.faces
是包含 API 和 impl 的单个 JAR 包(您也可以在文件大小上看到它)。
关于您仅使用 jsf-impl
时的具体问题,显然您忘记了 jsf-api
,或者您在实际使用非 Java 时依赖 javax:javaee-web-api
EE 容器,如 Tomcat.