我已经看到与此确切错误有关的其他问题,但它们似乎根本没有帮助。
我正在编写一个在 Linux 系统(如果我没记错的话是 CentOS)上运行的应用程序,该系统具有 Java 1.5 版本。我目前正在我的具有 Java 1.6 的 Mac OSX 系统上的 Eclipse IDE 上编辑程序。
我将项目编译成一个可运行的 .JAR 文件。当提示选择如何处理 Eclipse 中的库时,我选择“将选定的包提取到 .JAR 文件中”。
我知道 Eclipse 有自己的编译器,所以在项目设置中我将目标编译器更改为 Java 1.5 并重新构建。然后重新打包运行的jar文件。
但是,在目标机器上运行带有“java -jar file.jar”的 .JAR 文件时,我仍然会收到上述“错误的版本号”错误。
有人可以帮忙吗?
完整的错误是:
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
我只使用一个外部库 sun-javamail。
谢谢