博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Unsupported major.minor version 51.0解决办法
阅读量:6364 次
发布时间:2019-06-23

本文共 845 字,大约阅读时间需要 2 分钟。

在eclipse中开发的项目有个java build path中可以配置的jdk,还有个java compiler中可以配置compiler level,这两个是有区别的,build path的JDK版本是你开发的时候编译器需要使用到的,就是你在eclipse中开发代码,给你提示报错的,编译的过程;java compiler compliance level中配置的编译版本号,这个编译版本号的作用是,你这个项目将来开发完毕之后,要放到服务器上运行,那个服务器上JDK的运行版本。同事的问题就是,build path中配置1.7的JDK,java compiler compliance level中配置的1.7,但是服务器上是1.6的JDK,就报了那个错误,说是编译所用的jdk(1.7)比运行所用的jdk(1.6)高了,这是错误的。

       总结:build path的JDK版本是你开发的时候编译器需要使用到的,例如,如果用的JDK1.4就不能使用泛型。而java compiler compliance level设置的是你写好的JAVA代码按照什么JDK版本级别编译,例如:设置的是1.4,编译出来的class文件可以在1.4以上的JRE上运行,如果用的是5.0级别编译,就不能运行在1.4的环境里面,会提示版本过高。
     补充:后经实例证明,在eclipse中进行开发的时候,build path 中JDK进行类库的编译(就是你使用类在不在这个JDK中),java compiler compliance level是对这个项目语法的编译(就是你的项目中语法的正确与否),在开发的过程中,这两个地方是都起作用的。所以说,最最安全的做法,是build path 和 java complier compliance level和服务器配置的JDK都保持一致,就不会出现任何问题的。

转载于:https://www.cnblogs.com/caroline4lc/p/4171524.html

你可能感兴趣的文章
[javaSE] 单例设计模式
查看>>
Unity-Animator深入系列---状态机面板深入
查看>>
第16章 GTK+ gnome编程
查看>>
2016/04/17
查看>>
关于web服务接口测试的一些问题及答案
查看>>
java各种集合的线程安全
查看>>
having 子句
查看>>
读写文本(.txt)文件 .NET
查看>>
添物不花钱学JavaEE(基础篇)- Java
查看>>
我的云之旅--hadoop集群集成Hbase集群(5)
查看>>
Unity3D插件之Easy Touch 3.1(1): Easy Joystick
查看>>
解决问题:Android设备运行自动化脚本报错 ioerror RPC server not started
查看>>
自己写一个jquery
查看>>
Zookeeper集群安装(CentOS 7环境下)
查看>>
四则运算3
查看>>
JavaScript Boolean( new Boolean(false) ) 其实是true
查看>>
C#使用Process调用批处理阻塞问题
查看>>
检查网络连接状态。
查看>>
Android Animations动画使用详解
查看>>
打乱图片顺序,按一定比例分别存放
查看>>