Java 中解决Unsupported major.minor version 51.0的问题

Unsupported major.minor version 51.0解决办法

今天偶然间同事遇到一个问题,也加深了自己对eclipse中build path和java compiler compliance level的理解。

解决Unsupported major.minor version 51.0错误

最近新安装使用了jdk7,编译了一些类替换到原来正常运行的项目中,替换之后发生了Unsupported major.minor version 51.0错误。经过网上搜索发现了问题产生的原因:用jdk7编译的class文件放到基于jdk6运行在tomcat之中,就会报这个错。

解决起来也很方便:打开exclipse中项目上的属性—java compiler–选择一个合适的版本后重新编译即可。

具体步骤

解决:项目------>右键------>属性------>Java Compiler------>Compiler Compliance Level------>选择你使用的JDK版本------>应用。

总结:不同的JDK版本使用的major.minor不同,所以会导致这个错误。在项目中要使用当前电脑配置的JDK版本,切忌张冠李戴。

知识扩充:major.minor version,它相当于一个软件的主次版本号,只是在这里是标识的一个Java Class的主版本号和次版本号。

以上就是对Java Unsupported major.minor version 51.0解决办法的资料整理,后续补充相关知识,谢谢大家对本站的支持!

(0)

相关推荐

  • java.lang.AbstractMethodError: org.apache.xerces.dom.DocumentImpl.setXmlVersion问题解决方法

    读取本地的xml文件,通过DOM进行解析,DOM解析的特点就是把整个xml文件装载入内存中,形成一颗DOM树形结构,树结构是方便遍历和和操纵. DOM解析的特性就是读取xml文件转换为 dom树形结构,通过节点进行遍历. 这是W3c关于节点的概念 如果xml中包含有大量的数据,由于dom一次性把xml装入内存中的特性,所以dom不适合于包含大量数据的xml解析.当包含有大量xml的时候,用SAX进行解析比较节省内存. 下面是一个运用DOM进行解析xml文件的例子: xml文件结构如下: <?xm

  • 10种Java开发者编写SQL语句时常见错误

    Java开发者对于面向对象编程思维与命令行编程思维的协调程度,取决于他们如下几种能力的水平: 技巧(任何人都可以编写命令行形式的代码) 教条(有的人使用"模式 - 模式"的方式,即模式无处不在,并以名字作为标识) 情绪状况(在初期,真正面向对象形式的代码比起命令式代码会更加难懂.) 但是,当Java开发人员编写SQL语句时,一切都变得不同了.SQL是一种说明式语言,与面向对象思想和命令式思想无关.在SQL语言中,查询非常容易表达.但它也不是那么容易以最佳或最正确地方式编写出来.开发人员

  • 解决eclipse启动时报错Failed to create the Java Virtural Machine.问题的方法

    最近在学习android的开发搭建环境时,在网上下载了一个最新的eclpse,在启动的时候报错:Failed to create the Java Virtural Machine. 翻译一下,其意思就是说打开eclipse的失败原因是创建java虚拟机失败! 一般在启动的时候,出错,基本上除了虚拟机出错,就是jdk配置出错. 问题截图: 看原来的配置文件eclipse.ini的内容: 看最后一行"-XX:MaxPermSize=512M"改为256即可. 在看看找不到jdk启动报错的

  • java struts常见错误以及原因分析

    1 异常 javax.servlet.jsp.JspException: Cannot retrieve mapping for action /Login (/Login是你的action名字) 可能原因:action没有再struts-config.xml 中定义,或没有找到匹配的action,例如在JSP文件中使用 处理:如果出现上述异常,请查看struts-config.xml中的定义部分,有时可能是打错了字符或者是某些不符合规则,可以使用struts console工具来检查. 2 异

  • java异常与错误处理基本知识

    异常与错误:异常: 在Java中程序的错误主要是语法错误和语义错误,一个程序在编译和运行时出现的错误我们统一称之为异常,它是VM(虚拟机)通知你的一种方式,通过这种方式,VM让你知道,你(开发人员)已经犯了个错误,现在有一个机会来修改它.Java中使用异常类来表示异常,不同的异常类代表了不同的异常.但是在Java中所有的异常都有一个基类,叫做Exception.错误:它指的是一个合理的应用程序不能截获的严重的问题.大多数都是反常的情况.错误是VM的一个故障(虽然它可以是任何系统级的服务).所以,

  • 全面解释Java中的serialVersionUID

    serialVersionUID作用: 序列化时为了保持版本的兼容性,即在版本升级时反序列化仍保持对象的唯一性. 有两种生成方式:一个是默认的1L,比如:private static final long serialVersionUID = 1L;一个是根据类名.接口名.成员方法及属性等来生成一个64位的哈希字段,比如:private static final   long     serialVersionUID = xxxxL; 当你一个类实现了Serializable接口,如果没有定义s

  • Java 自定义错误类示例代码

    在程序中,需要抛出异常,然后在用户界面进行错误信息输出. 一种情况是在程序中最后UI显示的时候一个一个异常捕获,然后 显示对应的ErrorMessage,有时候,程序因为业务逻辑的原因需要抛出异常,就需要自定义异常. 如何将异常消息集中处理,以对应多语言话的要求 ,这些错误消息就需要集中处理了. 自定义错误消息. 复制代码 代码如下: public class MyException extends Exception{    private static final long serialVe

  • java session出现的错误

    复制代码 代码如下: package cn.lang.any.listener; import java.util.*; import javax.servlet.*; import javax.servlet.http.*; public class AmpList implements ServletContextListener,HttpSessionListener,HttpSessionAttributeListener { private ServletContext applica

  • Java 中解决Unsupported major.minor version 51.0的问题

    Unsupported major.minor version 51.0解决办法 今天偶然间同事遇到一个问题,也加深了自己对eclipse中build path和java compiler compliance level的理解. 解决Unsupported major.minor version 51.0错误 最近新安装使用了jdk7,编译了一些类替换到原来正常运行的项目中,替换之后发生了Unsupported major.minor version 51.0错误.经过网上搜索发现了问题产生的

  • 关于Unsupported major.minor version 49.0的错误解决办法

    在装2个不同版本JDK时遇到了这个问题,在网上钩了一吧!查到一个讲解比较好的资料. 一:要解决的问题 我们在尝鲜 JDK1.5 的时候,相信不少人遇到过 Unsupported major.minor version 49.0 错误,当时定会茫然不知所措.因为刚开始那会儿,网上与此相关的中文资料还不多,现在好了,网上一找就知道是如何解决,大多会告诉你要使用 JDK 1.4 重新编译.那么至于为什么,那个 major.minor 究竟为何物呢?这就是本篇来讲的内容,以使未错而先知. 我觉得我是比较

  • Android studio 出现 Unsupported major.minor version 52.0解决办法

    Android studio 出现 Unsupported major.minor version 52.0解决办法 最近更新了Android studio 之后,出现了Error:Java.lang.UnsupportedClassVersionError:com/android/dx/command/Main : Unsupported major.minor version 52.0 异常, 一.这是因为 compileSdKVersion 和 buildToosVersion 版本对不上

  • 启动Tomcat报错Unsupported major.minor version xxx的解决方法

    最近项目更新JDK,由之前的1.7更新到1.8.下载并安装好新的JDK以后,编译.启动Tomcat的时候,报错了,提示:"Unsupported major.minor version xxx ".具体解决的过程就不在这详细说明了.跟大家分享一下解决方案吧. 首先,出现这个错误是因为编译的JDK版本,跟运行时所用的JDK版本不一致所导致的.所以解决方案就是统一JDK的版本.具体如下: 1.设置Maven编译的版本,maven-compiler-plugin  jdk版本 <plu

  • Java中dubbo+zookeeper微服务架构简介

    目录 1.Apache Dubbo概述 1.1.Dubbo简介 1.2.Dubbo的服务架构 2.服务注册中心 Zookeeper 2.1.ZooKeeper介绍 2.2.ZooKeeper安装 2.3.启动 ZooKeeper 3.ZooKeeper快速入门 3.1.服务提供方 3.2.服务消费方 3.3.问题思考 4. Dubbo管理控制台 4.1.安装 5. Dubbo相关配置 5.1.包扫描 5.2.Dubbo 协议 5.3.负载均衡 5.4. Dubbo无法发布被事务代理的服务 1.A

  • Java多线程解决龟兔赛跑问题详解

    目录 多线程4(龟兔赛跑-休眠线程) 1.题目 2.解题思路 3.代码详解 多线程4(龟兔赛跑-休眠线程) 1.题目 在龟兔赛跑中,领先的兔子因为通宵写博客,中途太累睡着了,跑输了乌龟.这个故事说明了兔子是爱学习的同学.咳咳,通宵是不可取的,大家别学. 实现:使用线程休眠模拟龟兔赛跑比赛 2.解题思路 创建一个类:RaceFrame,继承了JFrame.用来界面显示两个文本区域,用来输出乌龟和兔子的比赛记录,比赛开始按钮用来开始比赛. 编写内部类:Rabbit,该类实现了Runnable接口,在

  • Java中synchronized正确使用方法解析

    生活中随处可见并行的例子,并行 顾名思义就是一起进行的意思,同样的程序在某些时候也需要并行来提高效率,在上一篇文章中我们了解了 Java 语言对缓存导致的可见性问题.编译优化导致的顺序性问题的解决方法,下面我们就来看看 Java 中解决因线程切换导致的原子性问题的解决方案 -- 锁 . 说到锁我们并不陌生,日常工作中也可能经常会用到,但是我们不能只停留在用的层面上,为什么要加锁,不加锁行不行,不行的话会导致哪些问题,这些都是在使用加锁语句时我们需要考虑的. 来看一个使用 32 位的 CPU 写

  • Java中线程安全问题

    目录 一.线程不安全 二.那些情况导致了线程不安全? 三.Java中解决线程不安全的方案 1.volatile"轻量级"解决线程不安全 2.synchronized自动加锁 四.公平锁与非公平锁机制 五.volatile和synchronized的区别 六.synchronized和Lock的区别 一.线程不安全 多线程的执行环境中,程序的执行结果和预期的结果不符合,这就称为发生了线程不安全现象 二.那些情况导致了线程不安全? 大致分为以下5种情况: (1)CPU抢占执行 (无法解决)

  • Java中JavaBean对象和Map的互相转换方法实例

    目录 1.JavaBean转Map 1.1.简介 1.2.反射知识 1.3.简单转换 1. 4.属性里面套属性转换 1. 5.总结 2.Map转JavaBean对象 2.1.简介 2.2.Introspector介绍 2.3.BeanInfo介绍 2.4用反射实现转换 2.5.利用Introspector(内省)的方式转换 总结 1.JavaBean转Map 1.1.简介 这篇博客是通过反射来进行实现转换的 在学习redis中,发现了一个知识点,就是Java对象转map,视频中的内容是通过hut

  • 关于java中Map的九大问题分析

    通常来说,Map是一个由键值对组成的数据结构,且在集合中每个键是唯一的.下面就以K和V来代表键和值,来说明一下java中关于Map的九大问题. 0.将Map转换为List类型 在java中Map接口提供了三种集合获取方式:Key set,,value set, and key-value set..它们都可以通过构造方法或者addAll()方法来转换为List类型.下面代码就说明了如何从Map中构造ArrayList: // key list List keyList = new ArrayLi

随机推荐