java版使用pdfview库的区别重要吗?

时间:2011-09-09 15:10:45

标签: java pdfview

我正在尝试运行此example 但它给了我“.class文件中的错误版本号...”错误。我正在使用jdk 1.6版本并且示例要求使用jdk 1.5。 java应该支持向下兼容性。我怎么能用jdk 1.6运行这个例子?

2 个答案:

答案 0 :(得分:1)

当您尝试在较旧的JVM上运行具有新版本号的类文件时,会出现“.class文件中的错误版本号...”错误。 (即便如此,并非在所有情况下)

在较新的JVM上运行具有旧版本号的类文件应该可以正常工作。


您可以使用javap -v <full-class-name>检查类文件的版本号。版本是:

major    minor       Java
45       3           1.0
45       3           1.1
46       0           1.2
47       0           1.3
48       0           1.4
49       0           1.5
50       0           1.6

我觉得......

51       0           1.7

答案 1 :(得分:1)

这里有一个微妙的陷阱,许多新人陷入其中。有时候 - 通常,实际上 - 您可能会从机器上安装的较旧的JDK中获得java.exe的副本,这些JDK出现在您的路径的早期,您不知道。您可以使用闪亮的新JDK 1.6编译器进入编译类的情况,然后尝试使用旧的java.exe运行它们,并获取此处提到的错误。如果路径上的旧java.exe位置早于JDK bin目录,那么您将从命令行找到编译器,但不会找到java.exe本身的正确版本

额外的java.exe通常由Java Plug-In的旧安装程序安装 - 允许您在Web浏览器中运行applet。流氓java.exe可能在您的WINDOWS目录中,或者某种变体(这是一个特别以Windows为中心的问题)。

如果你已经安装了包含Java插件的JDK 1.6,那么你只需删除WINDOWS目录中的java.exe副本即可。如果您不想这样做,则应更改路径,以使JDK的bin目录位于WINDOWS之前。