ModuleDescriptor.Builder.provides() is too restrictive
forax at univ-mlv.fr
forax at univ-mlv.fr
Sat Nov 19 18:08:38 UTC 2016
Ok !
Rémi
----- Mail original -----
> De: "Alan Bateman" <Alan.Bateman at oracle.com>
> À: "Remi Forax" <forax at univ-mlv.fr>, "jigsaw-dev" <jigsaw-dev at openjdk.java.net>
> Envoyé: Samedi 19 Novembre 2016 18:24:39
> Objet: Re: ModuleDescriptor.Builder.provides() is too restrictive
> On 19/11/2016 14:44, Remi Forax wrote:
>
>> Hi all,
>> Currently the spec supports two ways to declare several providers for one
>> service:
>> provides com.github.forax.pro.main.runner.Runner
>> with com.github.forax.pro.main.JSONRunner,
>> com.github.forax.pro.main.JShellRunner;
>> or
>> provides com.github.forax.pro.main.runner.Runner with
>> com.github.forax.pro.main.JSONRunner;
>> provides com.github.forax.pro.main.runner.Runner with
>> com.github.forax.pro.main.JShellRunner;
>>
>> but the equivalent code declared using the ModuleDescriptor.Builder.provides()
>> fails.
> The second form isn't allowed but javac is temporarily allowing it
> during the transition.
>
> So the exception is correct, except that I would expect
> InvalidModuleDescriptorException with what you have as the cause.
>
> -Alan
>
>>
>> cheers,
>> Rémi
>>
>> Exception in thread "main" java.lang.IllegalStateException: Providers of service
>> com.github.forax.pro.main.runner.Runner already declared by
>> com.github.forax.pro.main
>> at
>> java.base/java.lang.module.ModuleDescriptor$Builder.provides(ModuleDescriptor.java:1807)
>> at
>> com.github.forax.pro.helper/com.github.forax.pro.helper.ModuleHelper$1.visitProvides(ModuleHelper.java:84)
>> at
>> com.github.forax.pro.helper/com.github.forax.pro.helper.ModuleParser.parseProvides(ModuleParser.java:262)
>> at
>> com.github.forax.pro.helper/com.github.forax.pro.helper.ModuleParser.parseModule(ModuleParser.java:202)
>> at
>> com.github.forax.pro.helper/com.github.forax.pro.helper.ModuleParser.parse(ModuleParser.java:153)
>> at
>> com.github.forax.pro.helper/com.github.forax.pro.helper.ModuleHelper$1.parse(ModuleHelper.java:89)
>> at
>> com.github.forax.pro.helper/com.github.forax.pro.helper.ModuleHelper.sourceModuleDescriptor(ModuleHelper.java:95)
>> ...
>>
More information about the jigsaw-dev
mailing list