"Unknow type constant pool at position X" 在 tomcat 日志中自 java 8

"Unknow type constant pool at position X" in tomcat logs since java 8

我在 Tomcat 服务器上部署了一个基于 Java JSF2 Web 的应用程序,自从我们迁移到 Java 8 / Tomcat 8 后,这个错误出现了很多在 tomcat 输出中:

déc. 05, 2016 10:51:07 AM com.sun.faces.config.JavaClassScanningAnnotationScanner$ConstantPoolInfo containsAnnotation
GRAVE: Unknow type constant pool 0 at position 178

我尝试了不同的方法来解决这个警告,但它总是回来。

此日志是否是任何问题的征兆?只是正常输出吗?有办法解决这个问题吗?

根据我的研究,这似乎是 JSF 实现中的一个错误,已在 JSF 版本 2.3.0-m02 中修复

报告的错误: http://github.com/javaserverfaces/mojarra/issues/3736 https://github.com/javaserverfaces/mojarra/issues/3780

从哪里获得 JSF 实现的固定版本 http://repo1.maven.org/maven2/javax/faces/javax.faces-api/2.2/ http://repo1.maven.org/maven2/org/glassfish/javax.faces/2.3.0-m02/

或使用(2.3.0-m02 或更高版本)更新 maven POM 依赖项:

<groupId>org.glassfish</groupId>
<artifactId>javax.faces</artifactId>
<version>2.3.0-m02</version>

我遇到了同样的问题

今天我将 pom.xml 文件更新为 jsf 版本:2.2.15,错误日志消失了。

<dependency>
   <groupId>com.sun.faces</groupId>
   <artifactId>jsf-api</artifactId>
   <version>${jsf.version}</version>
   <scope>provided</scope>
</dependency>

<dependency>
   <groupId>com.sun.faces</groupId>
   <artifactId>jsf-impl</artifactId>
   <version>${jsf.version}</version>
   <scope>provided</scope>
</dependency>

我遇到了同样的问题。我在将 pom.xml 文件更新为 2.2.11.

后解决了
<groupId>com.sun.faces</groupId>
<artifactId>jsf-api</artifactId>
<version>2.2.11</version>

<artifactId>jsf-impl</artifactId>
<version>2.2.11</version>

postConstruct 没有在某些 ManagedBean 中执行,没有任何错误。