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 ...
随机推荐
- Word Amalgamation
Problem Description In millions of newspapers across the United States there is a word game called J ...
- 【Oracle】删除重复记录
--复习autotrace: SET AUTOTRACE OFF --不生成AUTOTRACE 报告,这是缺省模式 SET AUTOTRACE ON EXPLAIN --AUTOTRACE只显示优化器 ...
- 【树形贪心】【UVA1267】Network
重要意义:复习好久没写的邻接表了. Network, Seoul 2007, LA3902 Consider a tree network with n nodes where the interna ...
- 在Linux系统上限制远程登录的IP
在Linux系统上限制远程登录的IP,使用系统自带的配置文件. /etc/hosts.allow /etc/hosts.deny 匹配原则 先allow 后deny.
- 16进制字符串转换为byte数组
/// <summary> /// 16进制字符转换为byte数组 /// </summary> /// <param name="hexString" ...
- 高效批量更新 sql 字段的值(从一个表向另一个表更新)
里给出一种更高效.简洁的做法,批量更新SQL ,一句SQL就可以替代麻烦的循环过程,有MS SQLServer.Oracle.DB2下的写法--关键点:t4和t1是同一个table,primary k ...
- InvokeRequired方法和Invoke函数
c#中禁止跨进程直接访问控件,为了解决这个问题,出现了InvokeRequried属性,当一个控件的InvokeRequried属性值为真时,说明有控件外的线程想要访问它.这时便会调用到Invoke方 ...
- 天坑 之 Eclipse J2EE Preview 运行正确项目一直显示http 404
昨天下载了几个新Demo学习,结果不知道改了哪里,导致运行原先自己写的项目(JSP+Servlet+JDBC)(这理论上不会出什么大的问题吧?这么底层),结果莫名其妙的出现Http 404. 搞的我一 ...
- Spring 之 注解详解
概述 注释配置相对于 XML 配置具有很多的优势: 它可以充分利用 Java 的反射机制获取类结构信息,这些信息可以有效减少配置的工作.如使用 JPA 注释配置 ORM 映射时,我们就不需要指定 PO ...
- spring的IOC,DI及案例详解
一:spring的基本特征 Spring是一个非常活跃的开源框架:它是一个基于Core来架构多层JavaEE系统的框架,它的主要目的是简化企业开发.Spring以一种非侵入式的方式来管理你的代码,Sp ...