java版本升级异常Unsupported major.minor version 52.0处理

一、错误现象:

当改变了jdk版本时,在编译Java时,会遇到Unsupported major.minor version错误。 
错误信息如下 :

Unsupported major.minor version 52.0 (我在jdk1.7 升级1.8切换时就遇到了这个错误)

Unsupported major.minor version 51.0 

Unsupported major.minor version 50.0 
Unsupported major.minor version 49.0 (我在jdk1.4 和1.5切换时就遇到了这个错误) 
Unsupported major.minor version 48.0

二、错误原因:

类似错误均属于Java版本问题,即JDK版本过低,只要选择相对应的JDK版本编译即可。 
48,49,50是Java编译器内部的版本号: 
Unsupported major.minor version 50.0 对应于 JDK1.6(JRE1.6) 
Unsupported major.minor version 49.0 对应于 JDK1.5(JRE1.5) 
Unsupported major.minor version 48.0 对应于 JDK1.4(JRE1.4)

三、出错情况(Maven情况)

编译的时候在 pom.xml 文件中指定了编译的版本1.8,但是在运行的时候在 Eclipse 里面运行的时候用的是默认版本 1.7(跟编译时版本不一致,比编译版本要低)

编译 pom.xml 文件 jdk 设置:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.2</version>
    <configuration>
        <source>1.8</source>
        <target>1.8</target>
        <encoding>${project.build.sourceEncoding}</encoding>
    </configuration>
</plugin>
   
   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

运行时设置 jetty:run: 
maven运行设置(默认情况下 JRE 是默认值,需要我们手动去修改它):

这里写图片描述

默认JRE设置(未手动修改之前) 
这里写图片描述

手动修改 JRE 版本 
这里写图片描述

从上面可以看出来,我在使用 maven 打包的时候使用的是 jdk1.8运行的时候却使用的是jdk1.7,所以才会报出上面的错误。

因此在进行 maven 的开发,打包,和运行的时候要注意:如果你的jdk版本跟默认的版本不一致,那么你需要手动的把它们的 jdk 版本统一起来,否则就会遇到很多编译上的问题。

修改的地方:

  1. 开发时的设置:包括你的 buildPath 设置,compiler设置。

      
    

      2.pom.xml 中maven-compiler-plugin 设置.

       

     3.工程的Project Facets中的java版本,如下图:

      

 4.包括你在开发环境中运行时候的 jdk 版本设置(在 Run->Run Configurations… 里面,每一个运行的实例都可以设置 JRE 的版本),以及真实生产环境运行时的 版本设置

 如下图

这里写图片描述


5.如果用到eclipse中的maven插件编译打包web工程的话,也需要在maven插件运行目录修改jdk的版本


6.如果是Eclispe中tomcat服务器,则还需修改tomcat所引用的jdk版本



扩展: 
大部分情况下我们都不需要修改 Run Configurations… 这个参数,那是因为大部分情况下我们开发时 JDK 版本、运行时的JDK版本、还有我们开发环境的默认 JDK 版本都是一致的。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据提供的引用内容,"Unsupported major.minor version 52.0"错误通常是由于编译时使用的Java版本与运行时使用的Java版本不兼容导致的。具体来说,错误消息中的"52.0"表示编译时使用的Java版本为Java 8,而运行时使用的Java版本较低。 要解决这个问题,你可以尝试以下几种方法: 1. 确保你的MyEclipse配置正确:确保你在MyEclipse中正确配置了Java版本。你可以在MyEclipse的项目属性中检查和更改Java版本。 2. 更新你的Java版本:如果你的运行时Java版本较低,你可以尝试更新到与编译时Java版本兼容的版本。你可以从Oracle官方网站下载并安装最新的Java Development Kit(JDK)。 3. 检查你的项目依赖:如果你的项目依赖于其他库或框架,确保这些库或框架与你的Java版本兼容。你可以查看这些库或框架的文档或官方网站以获取更多信息。 4. 检查你的构建工具:如果你使用的是构建工具(如Maven或Gradle),确保你的构建工具配置正确,并且使用的Java版本与你的项目要求一致。 5. 清除和重新构建项目:有时候,清除项目并重新构建可以解决版本不兼容的问题。你可以尝试在MyEclipse中执行"Clean"操作,并重新构建你的项目。 希望以上方法能够帮助你解决"MyEclipse Unsupported major.minor version 52.0"错误。如果问题仍然存在,请提供更多详细信息,以便我能够更好地帮助你。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值