Missing translation for "--illegal-access"; Hadoop problems with build 175
uschindler at apache.org
Tue Jun 27 13:46:48 UTC 2017
Could you please open issues on the two Maven plugins? Please be also sure that you first update your POM file to use the latest version of those plugins. Unfortunately, after a long discussion with Maven people, it does not seem to be possible that Maven enforces a higher plugin version automatically (for commonly used plugins like javadocs, compiler,…) if Java 9 is detected. This brings the additional burden of migrating legacy POMs up to newer plugin versions – unfortunately.
About the issue in commons-lang: Unfortunately I am not sure if the old commons-lang v2 is still maintained (I think it’s dead). So I think the two plugins should drop this dependency and migrate to a newer one, or use some other way of detecting Java versions.
uschindler at apache.org
ASF Member, Apache Lucene PMC / Committer
From: gunnar.morling at googlemail.com [mailto:gunnar.morling at googlemail.com] On Behalf Of Gunnar Morling
Sent: Tuesday, June 27, 2017 3:29 PM
To: Alan Bateman <Alan.Bateman at oracle.com>
Cc: Uwe Schindler <uschindler at apache.org>; jigsaw-dev <jigsaw-dev at openjdk.java.net>; jdk9-dev at openjdk.java.net
Subject: Re: Missing translation for "--illegal-access"; Hadoop problems with build 175
> jdk-9+175 was supposed to be the first GA candidate so this is
> why the pre-release identifier "ea" was dropped. Hopefully the
> Hadoop maintainers will read JEP 223 to see how to parse version
> strings going forward.
I noticed that at least two popular Maven plug-ins are affected, too: the Maven JavaDoc plug-in and the Enforcer plug-in.
They both use rather old versions of Apache Commons Lang (2.x) whose utility method SystemUtils#getJavaVersionAsFloat() runs into a StringIndexOutOfBoundsException due to the changed version format as of b175. Perhaps some Apache committers are present here who could take a look at this one?
2017-06-26 10:00 GMT+02:00 Alan Bateman <Alan.Bateman at oracle.com <mailto:Alan.Bateman at oracle.com> >:
On 26/06/2017 08:35, Uwe Schindler wrote:
So I just wanted to give you some feedback that translations are obviously missing. FYI, the Linux version in English returns the correct text.
The last translation drop went into jdk-9+172 so it's out of sync with the CLI/usage messages in builds since then. In addition to --illegal-access, there are a few other changes to, and at least one new, error message(s) that also need updated translations.
FYI, the new version string (just "9") again caused some serious problem in open source projects. This time Hadoop, see https://issues.apache.org/jira/browse/HADOOP-14586. Issue is the following static final constant, leading to NoClassDefFound error and a cascade of classes no longer initializing:
private static boolean IS_JAVA7_OR_ABOVE =
System.getProperty("java.version").substring(0, 3).compareTo("1.7") >= 0;
Damn! (the above code is IMHO just horrible wrong, never ever do something like this). In a ddition, it no even has a doPrivileged!
jdk-9+175 was supposed to be the first GA candidate so this is why the pre-release identifier "ea" was dropped. Hopefully the Hadoop maintainers will read JEP 223 to see how to parse version strings going forward.
More information about the jdk9-dev