groovy-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andres Almiray <>
Subject Re: Loading groovy as a Jigsaw auto-module
Date Sun, 03 Dec 2017 18:12:09 GMT
Yes. But. The current content breaks the expected semantics of the
ServiceLoader mechanism.
That is, a line in a file such as META-INF/services/com.acme.Foo, is
expected to be

 - a fully classified classname
 - with no-args constructor
 - that implements (if the filename denotes an interface) or extends (if
the filename denotes a class) the target type.

Per these rules the content of
is wrong.
Given that this metadata file is to be used by the Groovy compiler alone it
would be better to use a different path/naming convention that does not
clash with existing Java conventions, something like


Unless I missed something this should work, shouldn't it?


Java Champion; Groovy Enthusiast
JCP EC Associate Seat
What goes up, must come down. Ask any system administrator.
There are 10 types of people in the world: Those who understand binary, and
those who don't.
To understand recursion, we must first understand recursion.

On Sun, Dec 3, 2017 at 12:01 PM, Cédric Champeau <>

> This file is used by Groovy internally, there's no reason for the JDK to
> interpret its contents since it has only a meaning for Groovy. In short, it
> declares the list of extensions recognized by the Groovy compiler. That it
> prevents loading as a module is rather strange.
> 2017-12-03 16:37 GMT+01:00 Ceki Gulcu <>:
>> Hi all,
>> Referring to a discussion on the maven users list [1], it appears that
>> removing the file META-INF/services/org.codehaus.groovy.source.Extensions
>> from groovy-2.4.13.jar allows Java 9 to successfully load groovy-2.4.13.jar
>> as an auto-module.
>> The org.codehaus.groovy.source.Extensions file contains the lone word
>> "groovy" instead of a fully qualified class name.
>> Please advise.
>> Best regards,
>> --
>> Ceki Gülcü
>> [1]

View raw message