本文分三步讲解:1.现象和子现象。2.原因。3.解决
一、现象和子现象
出现这个报错的大部分出现是接收到项目后,导入自己的开发软件后出现,主要现象是如下:
spring boot javax/annotation/ManagedBean : Unsupported major.minor version 51.0
次要现象是如下:
problem中有报错,如:
Java compiler level does not match the version of the installed Java project facet
其他现象:
nested exception is java.lang.NoClassDefFoundError: org/apache/juli/logging/LogFactory
二、原因
首要原因是jdk版本和tomcat对不上,项目需要用1.6,但是实际用了1.7;有时候jdk是对的,但是实际上编译的tomcat版本是不对的。
次要错误的原因是编译标准不对。
其他现象的话是因为没有引入。
三、解决
1.首先右击项目确认java build path中jdk的为1.6;
2.右击项目,选择Project Facets,选择和java compile一样的级别
3.pom引入:
<properties>
<java.version>1.6</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<maven.compiler.source>${java.version}</maven.compiler.source>
<maven.compiler.target>${java.version}</maven.compiler.target>
<tomcat.version>7.0.59</tomcat.version>
</properties>
在dependencies中添加如下:
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-logging-juli</artifactId>
<version>7.0.59</version>
</dependency>