Java报错--Unsupported major.minor version 52.0
遇到一个Java相关的报错:
...
java.lang.UnsupportedClassVersionError: ... : Unsupported major.minor version 52.0
...
报错说的不明不白,度娘后发现这样一个消息:
Whenever something like this happens in our software, we tell our users. This is a bug, we need to fix it.
I would expect a message like: You are running the wrong Java version on this machine: 1.7, please install and set the right java version: 1.8
A normal user will first have to find out what a major.minor version is, then have to find the mapping between majaor.minor and Java version,
depending on vendor, this could even vary. This is not a good user experience.
Version-Release number of selected component (if applicable):
How reproducible:
always
Steps to Reproduce:
1. Install and set java 7: java -version should show 1.7
2. Run Java 8 compiled code against this java version
检查看发现自己服务器上Java果然是1.7的(Java -version)
下载合适的Java1.8:
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
安装:
[root@hadoop-node-2 java]# rpm -ivh jdk-8u92-linux-x64.rpm
Preparing... ########################################### [100%]
1:jdk1.8.0_92 ########################################### [100%]
Unpacking JAR files...
tools.jar...
plugin.jar...
javaws.jar...
deploy.jar...
rt.jar...
jsse.jar...
charsets.jar...
localedata.jar...
添加环境变量:
[root@hadoop-node-2 jdk1.8.0_92]# tail -3 /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_92
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
查看是否成功:
[root@hadoop-node-2 jdk1.8.0_92]# which java
/usr/java/jdk1.8.0_92/bin/java
[root@hadoop-node-2 jdk1.8.0_92]# which javac
/usr/java/jdk1.8.0_92/bin/javac
[root@hadoop-node-2 jdk1.8.0_92]# java -version
java version "1.8.0_92"
Java(TM) SE Runtime Environment (build 1.8.0_92-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.92-b14, mixed mode)
[root@hadoop-node-2 jdk1.8.0_92]# javac -version
javac 1.8.0_92
再次运行我的程序,成功通过,不再报错,完美!
另附相关的几个近义词辨析:
Java:是一种计算机编程语言
javac:是Java语言编程编译器,是一种可以读取由java语言编写的类和接口的定义,并将它们编译成字节代码的class文件的工具
JDK:是Java语言的软件开发工具包,没有JDK的话,无法编译Java程序
jre: 为Java Runtime Environment的简称,即Java运行环境,是运行JAVA程序所必须的环境的集合,它包括Java虚拟机(jvm)、Java核心类库和支持文件,但不包含开发工具(JDK)、调试器和其它工具。
注意:如果只需要运行Java程序或Applet,下载并安装jre即可。如果要自行开发Java软件,请下载JDK。在JDK中附带有JRE
Java报错--Unsupported major.minor version 52.0的更多相关文章
- JDK1.8环境下依然报错 Unsupported major.minor version 52.0
JDK1.8环境下依然报错 Unsupported major.minor version 52.0 在配置elasticsearch-rtf全文搜索引擎时,按照Github上项目readme.md来 ...
- 从高版本JDK换成低版本JDK报错Unsupported major.minor version 52.0的解决方案
从高版本JDK换成低版本JDK报错Unsupported major.minor version 52.0 java.lang.UnsupportedClassVersionError: PR/Sor ...
- 从高版本JDK换成低版本JDK报错Unsupported major.minor version 52.0
ava.lang.UnsupportedClassVersionError: PR/Sort : Unsupported major.minor version 52.0这个错误是由于高版本的java ...
- JDK报错Unsupported major.minor version 52.0
一.问题描述: 新建web项目,由于我配置的Tomcat 6依赖jdk 1.8,所以新建的工程在jdk1.8环境下生成.当我把jdk改成1.6版本时,运行main方法或其他,则 报以下错误: java ...
- 报错:Unsupported major.minor version 52.0 (jar包对不同JDK版本的兼容性问题:)
Unsupported major.minor version 52.0 这类错误是因为Java版本不一致造成的,在高版本的JDK(1.8)环境中编译JAR包,然后JAR在低版本的JVM(1.6)中运 ...
- 报错Unsupported major.minor version 52.0的原因
原因分析 很明显是JDK版本不一致所导致的,,我们知道Java是支持向后编译的,也就是说,在低版本(如JDK6)上编译的class文件或者jar文件可以在高版本上(如JDK8)上编译通过,但这并不意味 ...
- Exception in thread "main" java.lang.UnsupportedClassVersionError: * : Unsupported major.minor version 52.0 解决办法
Exception in thread "main" java.lang.UnsupportedClassVersionError: * : Unsupported major.m ...
- linux ubuntu下如何安装并且切换java版本(Unsupported major.minor version 52.0)
最近在做一个dcos(数据中心操作系统)的东西,需要用marathon来做进程管理.遗憾的是0.6版本的marathon在API方面很是缺少,换成了0.15版本之后,运行时提示“Unsupported ...
- 启动报错 Unsupported major.minor version 51.0
Unsupported major.minor version 51.0错误, 是使用jdk6启动jdk7编译的项目,更换jdk7就好了,或者用jdk6重新打包项目. 解决起来也很方便:打开excli ...
随机推荐
- 3 x 8 = 23(火了)
颜回爱学习,德性又好,是孔子的得意门生.一天,颜回去街上办事,见一家布店前围满了人.他上前一问,才知道是买布的跟卖布的发生了纠纷. 只听买布的大嚷大叫:「三八就是二十三,你为啥要我二十四个钱?」颜回走 ...
- 从决策树学习谈到贝叶斯分类算法、EM、HMM
从决策树学习谈到贝叶斯分类算法.EM.HMM (Machine Learning & Recommend Search交流新群:172114338) 引言 log ...
- 设置grub密码
一,明文加密的方法 vi /etc/grub.conf 在hiddenmenu下添加password=1234,保存退出. 二,密文加密的方法 2.1, 使用SHA加密方式.grub-crypt 回 ...
- 伪元素::before和::after
有时候我们的页面里面有不少其他网站的名字,而且还要求网站名后面还要有网站的链接,类似这样:百度(http://www.baidu.com).这个时候如果网站多的话写起来就很麻烦了 <a href ...
- 登陆权限验证Session和Cookie用法及BasePage类使用
最近在做ASP.NET的项目时,接触到了登陆权限模块,所有总结了一下登陆时用到的知识和方法技巧. 如图说明:实现的效果如图,由于验证码验证比较简单这里就不介绍了 首先用代码生成器生成项目,以三层为例进 ...
- linux学习笔记之零散笔记。
部分知识,不足以成为完整博文.但又不能随意抛弃. 1,文件名建议字符集:字母+数字+ ./-/_ 尽量不要使用其他符号.因为特殊符号在很多功能中已经被占用. 2,系统调用通常提供最小接口(最简易) ...
- java poi 导出excel
poi的jar下载地址:http://poi.apache.org/ 下载后会有很多jar,但是如果只是简单的excel报表的话,导入一个poi-版本号-日期.jar就可以了. 导出代码: priva ...
- AdapterView及其子类之一:基本原理(ListView、ListActivity类型)
参考<疯狂android讲义>2.5节 1.AdapterView一般用于显示列表项,其内容由Adapter提供.调用Adapter的setAdapter(Adapter)方法设置Adap ...
- Android 6.0权限问题
Android 6.0 open failed: EACCES (Permission denied) 对于6.0+权限问题,报错如上: 解决方案: Android 6.0 (Marshmallow) ...
- 英特尔发布全新英特尔® INDE 2015工具套件
2014年10月15日,英特尔发布了全新的英特尔® Integrated Native Developer Experience 2015工具套件(简称英特尔® INDE).该产品提供了一系列最佳工具 ...