[
https://issues.apache.org/jira/browse/MCOMPILER-447?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17251310#comment-17251310
]
Claudio Corsi commented on MCOMPILER-447:
-----------------------------------------
I added an integration test to my forked version at:
[https://github.com/ccorsi/maven-compiler-plugin/tree/master/src/it/MCOMPILER-447]
I'll take a look at the mentioned reference but it might not work because the
initial issue was that the javac command was not even being executed. If it
was then I might of been able to work around that issue but in its present
incarnation that does not seem to be possible.
> Unable to compile modularized test for a multi-version jar that is not a java
> module by default
> -----------------------------------------------------------------------------------------------
>
> Key: MCOMPILER-447
> URL: https://issues.apache.org/jira/browse/MCOMPILER-447
> Project: Maven Compiler Plugin
> Issue Type: Bug
> Affects Versions: 3.8.1
> Reporter: Claudio Corsi
> Priority: Blocker
>
> I have a single module project that is creating a mult-version jar file. By
> default the multi-version jar is not a java module because it is being built
> for jdk 7 or newer. The multi-version jar does contain a java module
> definition within the /META-INF/versions/9 directory. I am trying to create
> a integration test that uses the java module of the code. When I tried
> building the module tests I got the UnsupportedOperationException with the
> message:
>
> Can't compile test sources when main sources are missing a module descriptor
>
> The issue was that the main module does not contain a module descriptor but
> the test does contain a module descriptor.
>
> I then forked a copy of the maven compiler plugin. I created an integration
> test and was able to fix this issue. The issue was that I needed to find the
> latest version of the java-module for the module generated multi-version jar
> file. This because the module descriptor and was added to the javac command.
>
> I then tried to build my test source again and this time it stated that it
> was not able to find a class because it is part of a jar file that does not
> contain any java module definition. I updated the integration test and was
> able to add another fix to the forked copy that resolved that issue. The
> issue was that all non-java-module jar files should be included as part of
> the class path. They were all being included as part of the module path.
>
> I then used the fixed jar file to build my project and it failed again
> because of it accessing a unnamed module. I had to finally update my pom to
> include a --add-reads command line option. I will not try to add a fix to
> this issue since this issue has a workaround unlike the other two that didn't.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)