2

我需要开发一个示例应用程序并将其部署在 Linux 中并对其进行测试。

问题是我得到

Exception in thread "main" java.lang.ClassFormatError: com.tata.topSamples.QuoteData (unrecognized class file version)
   at java.lang.VMClassLoader.defineClass(libgcj.so.7rh)
   at java.lang.ClassLoader.defineClass(libgcj.so.7rh)
   at java.security.SecureClassLoader.defineClass(libgcj.so.7rh)
   at java.net.URLClassLoader.findClass(libgcj.so.7rh)
   at java.lang.ClassLoader.loadClass(libgcj.so.7rh)
   at java.lang.ClassLoader.loadClass(libgcj.so.7rh)
   at gnu.java.lang.MainThread.run(libgcj.so.7rh)

通过谷歌搜索,我发现,您使用的 Java 版本比 Linux 机器上的版本更新

在我的 windows 环境中,我有 1.6 版本,而在 Linux 环境中,java 版本是 1.4.2。

我们如何解决这个错误?

4

2 回答 2

4

请告诉我如何解决这个错误??

-target 1.4使用和标志进行编译-source 1.4,或者在您的 Linux 机器上更新到更新版本的 Java。(请注意,使用这些标志可以让您在 Windows 机器上保留更新版本的 JDK。)

所以:

javac -target 1.4 -source 1.4 Foo.java Bar.java

必须使用 GCJ 而不是(比如说)OpenJDK吗?

于 2012-03-09T13:26:46.713 回答
0

在您的 Linux 环境中升级版本,或在 Windows 上使用 1.4.2 构建它。

于 2012-03-09T13:27:18.033 回答