Nutch 抱怨 Java 8 版本不匹配,但只安装了 Java 7

Nutch 抱怨 Java 8 版本不匹配,但只安装了 Java 7

我正在关注https://wiki.apache.org/nutch/NutchTutorial

我从 Apache 站点获得了 Solr 5.5.4,并从 Apache 站点获得了 Nutch 1.13

我正在使用 Oracle Java 7,我首先尝试使用 openjdk-7 并得到相同的错误(如下)

我按照教程操作,进入运行 bin/inject 的步骤,然后出现异常“不支持 major.minor 版本 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)

答案1

我通过安装 Java 8 解决了这个问题。我在谷歌上搜索了很多次,试图找到更多关于 Nutch 和 Java 版本的信息,最后我发现了这个https://issues.apache.org/jira/browse/NUTCH-2171(这是一个名为“将 Nutch Trunk 升级到 Java 1.8”的错误,它在 Nutch 1.3 中被标记为“已修复”)

所以我没有正确阅读错误消息。它似乎在说加载的某些代码需要版本 52,我假设这意味着 Java 版本 52 与加载的某些代码不兼容。

相关内容