maven-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Robert Scholte" <rfscho...@apache.org>
Subject Re: Loading groovy as a Jigsaw auto-module
Date Sun, 03 Dec 2017 14:09:08 GMT
[INFO] --- maven-dependency-plugin:3.0.2:resolve (default-cli) @  
maven-javadoc-plugin ---
[INFO] Can't extract module name from groovy-2.4.13.jar: Provider class  
groovy not in module

Maybe this helps....

You can confirm this with JShell:

String artifact = "" // path to artifact
System.out.println(java.lang.module.ModuleFinder.of(java.nio.file.Paths.get(artifact)).findAll().stream().findFirst().get().descriptor().name())

You don't see the complete stacktrace here, which means you can't see the  
root cause :(
maven-dependency-plugin does show the root cause

thanks,
Robert

On Sun, 03 Dec 2017 13:40:51 +0100, Ceki Gulcu <ceki@qos.ch> wrote:

>
> Hello all,
>
> The logback project, more specifically logback-classic, offers the  
> possibility of configuration via a script written in Groovy. Thus,  
> logback-classic has source files written in Java and a few source files  
> in Groovy.
>
> While attempting to (Jigsaw) modularize the logback project, I first  
> tried to declare "requires static groovy" in logback-classic's  
> module-info.java file but the compiler was unable to load  
> groovy-2.4.13.jar as an auto-module.
>
> To get the ball rolling, I had to resort to the "--add-reads  
> ch.qos.logback.classic=ALL-UNNAMED" compiler directive. This is very  
> unsatisfactory.
>
> On twitter, Cédric Champeau‏ suggested manually editing MANIFEST.MF in  
> groovy-2.4.13.jar adding "Automatic-Module-Name: groovylang". I edited  
> the file and also declared "requires static groovylang" in  
> logback-classic's module-info.java. However, this did not help and I  
> still get "module not found: groovylang"
>
> Building with maven's -X option, I see that  groovy-2.4.13.jar ends up  
> on the compiler's class path instead of the module path.
>
> Still on twitter, Robert Scolte responded that m-compiler-p only puts  
> the jars on the module path if they are referred to by a requires  
> statement anywhere in the module descriptors tree. The rest ends up on  
> the classpath.
>
> I am assuming here that "module descriptors tree" refers to  
> module-info.java files and not dependency declarations in pom.xml files.  
> Thus, if I understand correctly m-compiler-p parses module-info.java  
> files before invoking javac. Really?
>
> Best regards,
>
> --
> Ceki Gülcü
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


Mime
View raw message