Proposal: #VersionsInModuleNames

Stephen Colebourne scolebourne at joda.org
Mon Sep 12 17:52:18 UTC 2016


On 12 September 2016 at 16:11, Mark Reinhold <mark.reinhold at oracle.com> wrote:
>   - Revise the automatic-module naming algorithm implemented by `javac`
>     at compile time and the `ModuleFinder::of` method [2] at run time.
>     It will now strip any trailing digits and period characters that
>     remain after removing the version component, if any, from the name
>     of the original JAR file.  Thus `foo-bar-1.2.3.jar` becomes the
>     automatic module named `foo.bar` with the version string `1.2.3`,
>     and `foo-bar42.jar` becomes the automatic module named `foo.bar`
>     with no version string.

I will note that this would cause problems for Apache Commons Lang.

The original release of commons uses the package
org.apache.commons.lang and has a jar file of commons-lang-2.6.jar [1]
The later release of commons uses the package org.apache.commons.lang3
and has a jar file of commons-lang3-3.4.jar [2]

Dropping the number immediately after the name will break this, and it
is not unusual for applications to have both lang and lang3 in the
classpath.

Stephen

[1] http://repo1.maven.org/maven2/commons-lang/commons-lang/2.6/
[2] http://repo1.maven.org/maven2/org/apache/commons/commons-lang3/3.4/


More information about the jigsaw-dev mailing list