[ 
https://issues.apache.org/jira/browse/MCOMPILER-317?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16281013#comment-16281013
 ] 

Robert Scholte commented on MCOMPILER-317:
------------------------------------------

Yes, I understand that. The lazy solutiuon would be to add both to the 
modulepath, but what to do with their requirements? If the first one requires 
modA and modB, the second modC and modD, do the all need to end up on the 
modulepath? I think it should be the first with modA and modB, and ignore the 
second module, just like the jdk would have done.


> Plugin generates wrong modulepath (dependencies listed in wrong order)
> ----------------------------------------------------------------------
>
>                 Key: MCOMPILER-317
>                 URL: https://issues.apache.org/jira/browse/MCOMPILER-317
>             Project: Maven Compiler Plugin
>          Issue Type: Bug
>    Affects Versions: 3.7.0
>         Environment: Apache Maven 3.5.2 
> (138edd61fd100ec658bfa2d307c43b76940a5d7d; 2017-10-18T03:58:13-04:00)
> Maven home: C:\Program Files\apache-maven-3.5.2\bin\..
> Java version: 9.0.1, vendor: Oracle Corporation
> Java home: C:\Program Files\Java\jdk-9.0.1
> Default locale: en_CA, platform encoding: Cp1252
> OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
>            Reporter: Gili
>
> Testcase: https://github.com/cowwoc/maven-java9-class-shadowing
> If a project contains dependencies with the same module name (which is valid 
> according to https://stackoverflow.com/a/46573805/14731) then 
> maven-compile-plugin invokes {{javac}} with a modulepath containing 
> dependencies in an (apparently) arbitrary order. If I place the project in 
> one directory, I get one order. If I place the project in another directory, 
> I get another order. This is 100% reproducible across multiple runs, across 
> different computers.
> I suspect that somewhere deep inside the code someone is using {{HashMap}} 
> which is leading to undefined iteration order depending on the path being 
> used.
> Expected behavior: dependencies should be listed in the same order as 
> declared in pom.xml (see https://stackoverflow.com/a/793193/14731)
> Actual behavior: regardless of whether I list {{ExtensionPresent}} before or 
> after {{MyLibrary}}, the wrong order gets passed to {{javac}}.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to