2012-03-09 38 views
2

我需要開發一個示例應用程序並將其部署到Linux中並對其進行測試。java.lang.ClassFormatError

的問題是,我得到

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) 

通過google搜索,我發現,你編譯與Java的比你的Linux機器上的一個較新版本的jar

在我的窗戶環境我有1.6版本,在Linux環境下,java版本是1.4.2。

我們該如何解決這個錯誤?

+0

升級安裝在Linux機器上的Java?或者對你來說不可能? – 2012-03-09 13:27:21

+0

將您的Linux環境更新爲更新的Java版本; 1.4.2荒謬地過時了。 – 2012-03-09 13:27:37

回答

4

請告訴我如何解決這個錯誤?

可以使用-target 1.4-source 1.4標誌進行編譯,也可以在Linux機器上更新到更新版本的Java。 (請注意,使用這些標誌可以讓你保持了JDK的最新版本在您的Windows對話框。)

所以:

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

使用GCJ,而不是(說)OpenJDK

+0

你能告訴我怎麼做? – Pawan 2012-03-09 13:27:59

+0

@ yyyi777:哪位?我給了你兩個選擇,你沒有告訴我們任何有關你的Linux部署的限制或你如何構建你的代碼。 – 2012-03-09 13:29:46

0

在Linux環境中升級版本,或在Windows上使用1.4.2構建版本。

相關問題