开发者

Exception while compiling: wrong version 50.0, should be 49.0

开发者 https://www.devze.com 2022-12-11 18:57 出处:网络
I am working an application with JXL API and when i tried compiling using eclipse IDE, it\'s working fine and the same is not compiling when i am trying to compile in Command prompt and showing the be

I am working an application with JXL API and when i tried compiling using eclipse IDE, it's working fine and the same is not compiling when i am trying to compile in Command prompt and showing the below exception..

Extract.java:6: cannot access jxl.read.biff.BiffException bad class file: C:\Program Files\Java\jdk1.5.0_01\jre\lib\ext\jxl.jar(jxl/read/biff/BiffException.class)
class file has wrong version 50.0, should be 49.0
Please remove or make sure it appears in the correct subdirectory of the classpa
th.
import jxl.read.biff.BiffException;
                     ^
1 error

EDIT:

I am able to executing usi开发者_如何学Cng JDK 1.6. Since JDK 1.6 must also be compatible with lower versions, why doesn't it support the class files which were compiled in JDK 1.5.


The library you're using was compiled with Java 6

Your compiler is Java 5 that's why it doesn't understand that format.

To fix it you have to get a 1.5 version of the library or upgrade your compiler to 1.6 I suggest the later.


Per http://www.jnode.org/node/2140...

Submitted by Stephen Crawley on Fri, 11/30/2007 - 07:15.

I suspect that you are mixing code compiled with different versions of Java. Class file version 50.0 is used by Java 6.0, and 49.0 is used by Java 5.0.

Try doing a "build clean" to get rid of all existing class files, followed by a regular build.

JNode is being developed using Java 6.0 only. Last time I tried, it didn't build using Java 5.0 (aka 1.5). (It is a problem with the program that builds the JNode boot image.)

Try changing the builder in Eclipse. If you're using 3.4, it's Project - Properties - Java Compiler - Enable Project Specific Settings - Compiler Compliance Level = 1.6. You'll prolly also need to have JRE 1.6 installed, as well.


Check you class path in eclipse and make sure that its the same class path your compiling to in the command prompt, also check your library imports


It means that, you have compiled that class with Java 6 and trying to execute with Java 5.

Solution :

If your using ant, execute below steps on the project root directory

  1. ant clean
  2. ant deploy

If your using eclipse, just clean the workspace(remove the class files which were compiled with Java6) and build again


this could be that in you IDE you point to latest version of JDK but when you build your program outside the IDE(maybe with maven) your java_home is the older version to the one on your IDE.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号