使用jar包出现Bad version number in .class file

在myeclipse中使用jar包中的一个类 运行会出现如下问题,
我在cmd下javac java命令运行也是这个问题。cmd下 javac -version 也是1.5

我在myeclipse下开发,系统装的是1.5的jdk,myeclipse 各地方都已经指定是1.5了,将jar文件中的RPC类文件在myeclipse下打开发现是1.5的版本,运行会出现这个问题,但是如果不使用这个RPC类就没问题,那会是什么原因?谢谢了

Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version number in .class file
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at odis.rpc.RPC.(RPC.java:56)
at Test.main(Test.java:16)

[b]问题补充:[/b]
问题已解决,是RPC使用了其他的一个包,这个包编译的版本是1.6,但是比较奇怪异常显示中并没有出现这个类。

5个回答

估计jar中类是用1.5以上版本编译的, 找到rpc的源文件重新在当前环境下编译打包...

你先确定这个类的版本 是1.5的版本

看myeclipse里设置的jdk的版本是不是1.5的,还是编译器是不是也是设置成1.5

Project->Properties->Java Compiler->Configure Workspace Setting,在弹出的页面中进行设置,将JDK由6.0改为5.0

从你的异常看就是版本的原因,还是看看有什么地方有什么不一样吧。
你看看你系统的环境变量。。Path最左边的是不是1.5那个。
不过你不用RPC类没问题估计应该不是你的JDK问题。
你的RPC类是在JDK1.5下编译的么。

在按上面的问答做了以后,再做彻底的编译:
选中 自动编译 后, 
菜单: project --clean ... ,  选择将当前项目, 重新编译就可以了。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐