-1
我已經使用Java/NetBeans實現了pagerank算法,並且我已經構建了用於在hadoop中執行它的.jar文件。在hadoop中執行.jar文件時出現Java版本錯誤
雖然試圖執行它我想出了這個錯誤:
Exception in thread "main" java.lang.UnsupportedClassVersionError: Pagerank : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:295)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at org.apache.hadoop.util.RunJar.main(RunJar.java:149)
隨着一點點的搜索,我發現,有可能是Java版本的兼容性問題。 現在我使用Java 1.6的hadoop 1.04版本。我將NetBeans項目更改爲使用相同的版本。
關於我包含在我的項目中的一些.jar庫,所有這些庫都從我的hadoop安裝檔案文件中取出,除此之外我必須從MavenRepository(http://mvnrepository.com/artifact/org.apache.hadoop/hadoop-core)手動下載一個文件(hadoop-core)。我下載了我使用的Hadoop版本的1.0.4版本。
儘管如此,事情似乎與我相當兼容,但我又一次使用Hadoop,希望能對此問題有所瞭解。
似乎有些東西是爲Java 7編譯的。http://stackoverflow.com/q/10382929/422353 – madth3 2013-02-09 01:34:27