Hi Rory, I debugged Apache Ant today and I found out why this is happening. I will also contact the jdk-core mailing list because this is the most horrible thing that can happen: The source of all Java build systems (Apache Ant) breaks. Gradle uses Ant internally but also Maven projects use Ant in many cases. So basically with this bug you cannot build most Java projects out there.
The issue is the following: The commit of Multi-Release-Jar files broke resource handling in Apache Ant. In short: If you call ClassLoader.getResources() / or getResource() you get back an URL from where you can load the Resource - this is all fine and still works. But, with the Multi-Release JAR files patch this now has an URL fragment appended to the URL: '#release' (see http://hg.openjdk.java.net/jdk9/jdk9/jdk/rev/f9913ea0f95c) In Java 7, Java 8,... and Java 9pre-b108, ClassLoader.getResource()/getResources() returned stuff like: "jar:file:/C:/Program%20Files/Java/apache-ant-1.9.6/lib/ant.jar!/org/apache/tools/ant/antlib.xml" Now in Java 9b108 the following is returned: "jar:file:/C:/Program%20Files/Java/apache-ant-1.9.6/lib/ant.jar!/org/apache/tools/ant/antlib.xml#release" And here Ant breaks (and I assume many other projects like Maven, too). Ant checks for the file extension of the string (because it may load definitions from both XML and properties files). So it does endsWith(".xml") and of course this now returns false. The effect is that Ant tries to load its own task definitions as a java properties file instead of XML. Of course this fails, because the data behind this URL is XML. The effect is that Ant cannot bootstrap as everything to build is missing. One might say: Ant's code is broken (I agree, it is not nice because it relies on the string representation of the resource URL), but it is impossible to fix, because Ant is bundled on most developer computers and those will suddenly break with Java 9! I'd suggest to please ASAP revert the Multi-Release JAR file patch and provide a new preview build as soon as possible. I think there is more work needed to fix this. If this does not revert to the original state, it will be impossible to build and test Lucene, Elasticsearch,.... (and almost every Java project pout there, because it breaks on this). So short: We cannot test anymore and its likely that we cannot support Java 9 anymore because the build system used by most Java projects behind the scenes does not bootstrap itsself anymore. Uwe ----- Uwe Schindler H.-H.-Meier-Allee 63, D-28213 Bremen http://www.thetaphi.de eMail: [email protected] > -----Original Message----- > From: Rory O'Donnell [mailto:[email protected]] > Sent: Friday, March 04, 2016 7:41 PM > To: [email protected] > Cc: [email protected]; 'Dalibor Topic' <[email protected]>; > 'Balchandra Vaidya' <[email protected]>; 'Muneer Kolarkunnu' > <[email protected]> > Subject: Re: [JENKINS-EA] Lucene-Solr-master-Linux (32bit/jdk-9-ea+108) - > Build # 16098 - Still Failing! > > Let me know the incident number, thanks Uwe! > > Rgds,Rory > > On 04/03/2016 15:20, Uwe Schindler wrote: > > Oh, oh, > > > > Build 108 of JDK 9 broke the internal XML parser completely (looks like that > commit: http://hg.openjdk.java.net/jdk9/jdk9/jaxp/rev/95c223e6eaf0). I > reverted to build 108, because we cannot even build Lucene with it (Ant fails > parsing the build.xml file)... > > > > I will dig into it and open issue for Rory! > > > > Uwe > > > > ----- > > Uwe Schindler > > H.-H.-Meier-Allee 63, D-28213 Bremen > > http://www.thetaphi.de > > eMail: [email protected] > > > > > >> -----Original Message----- > >> From: Policeman Jenkins Server [mailto:[email protected]] > >> Sent: Friday, March 04, 2016 4:09 PM > >> To: [email protected]; [email protected]; > >> [email protected] > >> Subject: [JENKINS-EA] Lucene-Solr-master-Linux (32bit/jdk-9-ea+108) - > Build > >> # 16098 - Still Failing! > >> Importance: Low > >> > >> Build: http://jenkins.thetaphi.de/job/Lucene-Solr-master-Linux/16098/ > >> Java: 32bit/jdk-9-ea+108 -server -XX:+UseG1GC > >> > >> No tests ran. > >> > >> Build Log: > >> [...truncated 17 lines...] > >> BUILD FAILED > >> /home/jenkins/workspace/Lucene-Solr-master-Linux/build.xml:21: The > >> following error occurred while executing this line: > >> /home/jenkins/workspace/Lucene-Solr-master-Linux/lucene/common- > >> build.xml:56: not doesn't support the nested "matches" element. > >> > >> Total time: 0 seconds > >> Build step 'Invoke Ant' marked build as failure > >> Archiving artifacts > >> [WARNINGS] Skipping publisher since build result is FAILURE > >> Recording test results > >> ERROR: Step ‘Publish JUnit test result report’ failed: No test report files > were > >> found. Configuration error? > >> Email was triggered for: Failure - Any > >> Sending email for trigger: Failure - Any > >> > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [email protected] > > For additional commands, e-mail: [email protected] > > > > -- > Rgds,Rory O'Donnell > Quality Engineering Manager > Oracle EMEA , Dublin, Ireland > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
