Intellij IDEA环境java web项目问题记录

一、Error:java: Compilation failed: internal java compiler error

检查project jdk版本和compile level,是否都一致


检查setting里面java compile 中 target bytecode version是否都一致



二、Caused By: java.lang.UnsupportedClassVersionError: com/fasterxml/jackson/databind/JavaType : Unsupported major.minor version 51.0

报错信息如下:

Caused by: java.lang.UnsupportedClassVersionError: com/fasterxml/jackson/databind/JavaType : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:630)
at java.lang.ClassLoader.defineClass(ClassLoader.java:614)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at weblogic.utils.classloaders.GenericClassLoader.defineClass(GenericClassLoader.java:343)
at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:302)
at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:270)
... 81 more


at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1510)
at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:482)
at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119)
Truncated. see log file for complete stacktrace
Caused By: java.lang.UnsupportedClassVersionError: com/fasterxml/jackson/databind/JavaType : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:630)
at java.lang.ClassLoader.defineClass(ClassLoader.java:614)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at weblogic.utils.classloaders.GenericClassLoader.defineClass(GenericClassLoader.java:343)
Truncated. see log file for complete stacktrace

各个jdk版本对应的major号

Java SE 10 = 54,
Java SE 9 = 53,
Java SE 8 = 52,
Java SE 7 = 51,
Java SE 6.0 = 50,
Java SE 5.0 = 49,
JDK 1.4 = 48,
JDK 1.3 = 47,
JDK 1.2 = 46,
JDK 1.1 = 45

该问题的主要原因是jackson-core 与spring 4.3 版本不匹配导致,spring 4.3版本只能支持到2.7.* 版本,修改pom.xml

<!-- MappingJackson2HttpMessageConverter 依赖包 -->
<jackson-core.version>2.7.5</jackson-core.version>
<!--================================Begin Spring MappingJackson2HttpMessageConverter 依赖包=============-->
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-core</artifactId>
    <version>${jackson-core.version}</version>
</dependency>
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>${jackson-core.version}</version>
</dependency>
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-annotations</artifactId>
    <version>${jackson-core.version}</version>
</dependency>
<!--================================End Spring MappingJackson2HttpMessageConverter 依赖包=============-->
详细见 spring jira 
三、.UnsupportedClassVersionError: action/LoginAction : Unsupported major.minor version 51.0

在部署到weblogic 10时,提示:“.UnsupportedClassVersionError: action/LoginAction : Unsupported major.minor version 51.0”,主要原因还是因为jdk版本不一致导致。
项目中使用的
jdk=1.7    
bytecodeversion=1.7  
compile language level=7

但是,weblogic 10 仅支持到jdk 1.6

解决方案:修改pom.xml中 compile为1.6

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.6</maven.compiler.source>
    <maven.compiler.target>1.6</maven.compiler.target>

猜你喜欢

转载自blog.csdn.net/jc_986/article/details/80315978