我需要开发一个示例应用程序并将其部署到Linux中并对其进行testing。
问题是,我越来越
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)
通过googlesearch,我发现,你用比你的Linux机器上的Java版本更新的Java编译jar
在我的Windows环境中,我有1.6版本,在Linux环境下,Java版本是1.4.2。
我们如何解决这个错误?
请告诉我怎样才能解决这个错误?
可以用-target 1.4
和-source 1.4
标志进行编译,或者在Linux机器上更新到更新版本的Java。 (请注意,使用这些标志可以让您在Windows机器上保留更新版本的JDK。)
所以:
javac -target 1.4 -source 1.4 Foo.java Bar.java
你必须使用GCJ而不是(比如说) OpenJDK ?
在Linux环境中升级版本,或在Windows上使用1.4.2构建版本。