在我的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>
Run Code Online (Sandbox Code Playgroud)
通过
<dependency>
<groupId>org.glassfish</groupId>
<artifactId>javax.faces</artifactId>
<version>2.2.4</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
这让我很困惑.
在搜索项目主页时,我发现了这些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/
有人可以解释这个区别吗?不应该完全一样吗?
提示:我了解太阳和甲骨文的历史.;)
该com.sun.faces:jsf-impl只包含实现(钻嘴鱼科).它缺乏API.你需要com.sun.faces:jsf-api沿着它.
这org.glassfish:javax.faces是包含API和impl的单JAR包(您也可以在文件大小上看到它).
至于你在使用时的具体问题jsf-impl,显然你已经忘记了jsf-api,或者你javax:javaee-web-api实际上在使用像Tomcat这样的非Java EE容器时依赖它.
| 归档时间: |
|
| 查看次数: |
2293 次 |
| 最近记录: |