Назад | Перейти на главную страницу

Nutch жалуется на несоответствие версии Java 8, но установлена ​​только Java 7

Я слежу за учебником Nutch от https://wiki.apache.org/nutch/NutchTutorial

У меня Solr 5.5.4 с сайта Apache и Nutch 1.13 с сайта Apache

Я использую Oracle Java 7, я сначала попробовал openjdk-7 и получил ту же ошибку (ниже)

Я следую инструкциям и перехожу к шагу, на котором я запускаю bin / inject и получаю исключение «Unsupported major.minor version 52.0» - я считаю, что это Java 8. В моей системе не установлена ​​Java 8, это свежая установка debian. (Полное сообщение об ошибке ниже)

Как мне исправить эту ошибку?

user@Nutch-1:~/apache-nutch-1.13$ bin/nutch inject crawl/crawldb urls
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apache/nutch/crawl/Injector : Unsupported major.minor version 52.0
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
        at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)
user@Nutch-1:~/apache-nutch-1.13$ java -version
java version "1.7.0_80"
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)
user@Nutch-1:~/apache-nutch-1.13$ which java
/usr/bin/java
user@Nutch-1:~/apache-nutch-1.13$ /usr/bin/java -version
java version "1.7.0_80"
user@Nutch-1:~/apache-nutch-1.13$ echo $JAVA_HOME
/usr/lib/jvm/java-7-oracle/jre/
user@Nutch-1:~/apache-nutch-1.13$ cd $JAVA_HOME
user@Nutch-1:/usr/lib/jvm/java-7-oracle/jre$ bin/java -version
java version "1.7.0_80"
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)

Я решил эту проблему, установив Java 8. Я провел кучу различных поисковых запросов в Google, пытаясь найти дополнительную информацию о версиях Nutch и Java, и нашел это https://issues.apache.org/jira/browse/NUTCH-2171 (Это ошибка под названием «Обновить Nutch Trunk до Java 1.8» и в Nutch 1.3 она помечена как «исправленная»)

Так что я неправильно прочитал сообщение об ошибке. Кажется, говорится, что версия 52 требуется для некоторого фрагмента кода, который был загружен, я предположил, что это означало, что версия java 52 была несовместима с некоторым фрагментом кода, который был загружен.