不同版本的java和编译类jar

时间:2014-08-18 12:56:34

标签: java

我有java 2 SDK标准版ve 1.4.2-06并且我编译了一个java程序,它在提取jar的内容后使用名为Visad的jar中的类我有一个名为Visad的文件夹也包含子文件夹课程。我编译我的程序,我总是收到此错误消息

cannot access visad.java3d.DisplayImplJ3D bad class file .\visad\java3d\DisplayImplJ3D.class 
class file has wrong version 50.0 should be 48.0 
please remove or make sure it appears in the correct subdirectory of the classpath

我读到可能问题是我的java的版本与jar中编译的类不同,我知道该怎么做

谢谢

2 个答案:

答案 0 :(得分:2)

您似乎正在使用版本1.4的java编译器,其中的类已经编译为1.5或1.6

您应该将您的java版本更改为更新版本...您知道我们现在正在运行Java 8吗?

您应该下载并安装java SE 8 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

答案 1 :(得分:0)

cannot access visad.java3d.DisplayImplJ3D bad class file .\visad\java3d\DisplayImplJ3D.class 
class file has wrong version 50.0 should be 48.0 

错误消息"类文件的部分有错误的版本50.0"告诉我们使用JDK 1.6创建了类文件DisplayImplJ3D.class,并且你正在使用JDK 1.4和#34的javac编译器;应该是48.0"。

  • 如果您必须坚持使用JDK 1.4,则需要使用Java 1.4
  • 编译的Visad.jar
  • 如果没有约束要坚持JDK 1.4,你应该至少更新到JDK 1.6并编译你的源

编辑您还可以下载Visad源代码Visad homepage并使用您的JDK编译它

HOWTO使用JDK 1.4构建VisAD

  • 下载VisAD源并将其解压缩到您喜欢的目的地
  • Java 3D API下载和安装JDK 1.4的Java 3D API,在安装时检查* .jar文件的安装位置
  • cd进入VisAD源目录
  • 运行ant build jar
  • 如果构建因error: package javax.media.j3d does not exist而失败,那么您必须从安装目录手动复制必要的Jar文件(在安装过程中必须记住)
  • 将文件j3dcore.jar,j3dutils.jar和vecmath.jar复制到您的VisAD源目录
  • 修改build.xml,添加粗体部分

    < javac srcdir ="。" memoryMaximumSize =" 512M"叉="真"调试="上" classpath ="。; j3dcore.jar; j3dutils.jar; vecmath.jar" />

  • 运行ant build jar

  • 如果构建成功,则VisAD源目录中应该有一个visad.jar