[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 <[email protected]> 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: [email protected]
For additional commands, e-mail: [email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]