Search code examples
javanutchjava-11

Nutch compatibility with Java 11


I tried to look system requirements for Apache Nutch and could not come up with any good reference document. I am in the midst of OpenJDK 8 to OpenJDK 11 migration and I was not sure which Java versions are supported by Nutch.

I came across this JIRA issue - https://issues.apache.org/jira/browse/NUTCH-2171 which upgraded the Nutch trunk to Java 1.8. But what about Java 1.11?


Solution

  • Nutch 1.16 is built using Java 8 and Java 8 is still the recommended runtime environment. But in local mode it should also run on Java 11.

    To use Java 11 in distributed mode (running on a Hadoop cluster), we have to wait for Hadoop to support Java 11 as runtime environment, see HADOOP-15338 and the wiki page Hadoop Java Versions. When Hadoop supports Java 11 (expected for 3.3) we have to give our users some time to upgrade their Hadoop clusters as we probably do not want to maintain two separate branches for different Java versions.

    So we'll likely to stay compatible with a Java 8 runtime for the near future but try to be prepared for an upgrade: Nutch 1.16 can be compiled using Java 11 but some unit tests fail, see NUTCH-2512 which should be addressed in 1.17.