[
https://issues.apache.org/jira/browse/NUTCH-2512?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16503033#comment-16503033
]
Sebastian Nagel commented on NUTCH-2512:
----------------------------------------
Hi [~Bl4ck1c3], I've now even was able to compile the recent master (1.x) using
Java 10 ("installed" on Ubuntu 18.04 as Java 11):
{noformat}
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
% $JAVA_HOME/bin/java -version
openjdk version "10.0.1" 2018-04-17
% ant -d -v clean runtime test
Apache Ant(TM) version 1.10.3 compiled on March 29 2018
...
Detected Java version: 10 in: /usr/lib/jvm/java-11-openjdk-amd64
...
BUILD SUCCESSFUL
{noformat}
When running {{ant test}} the protocol-http(client) unit tests fail with an
error in Jetty used to answer the test HTTP requests:
{noformat}
2018-06-06 11:03:02,335 ERROR mortbay.log (Slf4jLog.java:warn(87)) -
/basic-http.jsp
java.lang.ClassCastException:
java.base/jdk.internal.loader.ClassLoaders$AppClassLoader cannot be cast to
java.base/java.net.UR
LClassLoader
at
org.apache.jasper.compiler.JspRuntimeContext.<init>(JspRuntimeContext.java:94)
at org.apache.jasper.servlet.JspServlet.init(JspServlet.java:100)
at
org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:440)
at
org.mortbay.jetty.servlet.ServletHolder.getServlet(ServletHolder.java:339)
at
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:401)
at
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:326)
at
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
at
org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:928)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
at
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410)
at
org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
2018-06-06 11:03:02,356 WARN mortbay.log (Slf4jLog.java:warn(76)) -
/basic-http.jsp: javax.servlet.UnavailableException:
java.lang.ClassCastException:
java.base/jdk.internal.loader.ClassLoaders$AppClassLoader cannot be cast to
java.base/java.net.URLClassLoader
2018-06-06 11:03:02,386 INFO mortbay.log (Slf4jLog.java:info(67)) - Stopped
[email protected]:47504
...
HTTP Status Code for http://127.0.0.1:47504/basic-http.jsp expected:<200> but
was:<500>
junit.framework.AssertionFailedError: HTTP Status Code for
http://127.0.0.1:47504/basic-http.jsp expected:<200> but was:<500>
at
org.apache.nutch.protocol.http.TestProtocolHttp.fetchPage(TestProtocolHttp.java:130)
at
org.apache.nutch.protocol.http.TestProtocolHttp.testStatusCode(TestProtocolHttp.java:80)
{noformat}
It's a [known problem when upgrading from Java 8 to
9|https://community.oracle.com/thread/4011800]. Don't know yet how to fix it,
probably requires an upgrade of the Jetty server used for testing.
I've changed the issue title: this will be fixed for 1.15, not for 1.14. Thanks!
> Nutch does not build under JDK9
> -------------------------------
>
> Key: NUTCH-2512
> URL: https://issues.apache.org/jira/browse/NUTCH-2512
> Project: Nutch
> Issue Type: Bug
> Components: build, injector
> Affects Versions: 1.14
> Environment: Ubuntu 16.04 (All patches up to 02/20/2018)
> Oracle Java 9 - Oracle JDK 9 (Latest as off 02/22/2018)
> Reporter: Ralf
> Priority: Major
> Fix For: 1.15
>
>
> Nutch 1.14 (Source) does not compile properly under JDK 9
> Nutch 1.14 (Binary) does not function under Java 9
>
> When trying to Nuild Nutch, Ant complains about missing Sonar files then
> exits with:
> "BUILD FAILED
> /home/nutch/nutch/build.xml:79: Unparseable date: "01/25/1971 2:00 pm" "
>
> Once having commented out the "offending code" the Build finishes but the
> resulting Binary fails to function (as well as the Apache Compiled Binary
> distribution), Both exit with:
>
> Injecting seed URLs
> /home/nutch/nutch2/bin/nutch inject searchcrawl//crawldb urls/
> Injector: starting at 2018-02-21 02:02:16
> Injector: crawlDb: searchcrawl/crawldb
> Injector: urlDir: urls
> Injector: Converting injected urls to crawl db entries.
> WARNING: An illegal reflective access operation has occurred
> WARNING: Illegal reflective access by
> org.apache.hadoop.security.authentication.util.KerberosUtil
> (file:/home/nutch/nutch2/lib/hadoop-auth-2.7.4.jar) to method
> sun.security.krb5.Config.getInstance()
> WARNING: Please consider reporting this to the maintainers of
> org.apache.hadoop.security.authentication.util.KerberosUtil
> WARNING: Use --illegal-access=warn to enable warnings of further illegal
> reflective access operations
> WARNING: All illegal access operations will be denied in a future release
> Injector: java.lang.NullPointerException
> at
> org.apache.hadoop.mapreduce.lib.input.FileInputFormat.getBlockIndex(FileInputFormat.java:444)
> at
> org.apache.hadoop.mapreduce.lib.input.FileInputFormat.getSplits(FileInputFormat.java:413)
> at
> org.apache.hadoop.mapreduce.lib.input.DelegatingInputFormat.getSplits(DelegatingInputFormat.java:115)
> at
> org.apache.hadoop.mapreduce.JobSubmitter.writeNewSplits(JobSubmitter.java:301)
> at
> org.apache.hadoop.mapreduce.JobSubmitter.writeSplits(JobSubmitter.java:318)
> at
> org.apache.hadoop.mapreduce.JobSubmitter.submitJobInternal(JobSubmitter.java:196)
> at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1290)
> at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1287)
> at java.base/java.security.AccessController.doPrivileged(Native
> Method)
> at java.base/javax.security.auth.Subject.doAs(Subject.java:423)
> at
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1746)
> at org.apache.hadoop.mapreduce.Job.submit(Job.java:1287)
> at org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:1308)
> at org.apache.nutch.crawl.Injector.inject(Injector.java:417)
> at org.apache.nutch.crawl.Injector.run(Injector.java:563)
> at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
> at org.apache.nutch.crawl.Injector.main(Injector.java:528)
>
> Error running:
> /home/nutch/nutch2/bin/nutch inject searchcrawl//crawldb urls/
> Failed with exit value 255.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)