RFR: JDK-8233594: create a new option --bind-servces to pass on to jlink

Michael Paus mp at jugs.org
Wed Nov 6 16:35:02 UTC 2019


Am 06.11.19 um 16:32 schrieb Alan Bateman:
> On 06/11/2019 14:01, Michael Paus wrote:
>>
>> The --suggest-providers option would be more useful if one could 
>> limit it to the providers that can actually be used by my code, i.e.
>> a call like
>>
>> jlink --add-modules java.base --suggest-providers
>>
>> should only return the providers which can be reached by java.base. 
>> Or did I miss something here?
>>
> java.base is a prolific user of services. Many standard and 
> JDK-specific modules provide implementations of services that are used 
> by java.base. Those modules in turn make use of additional services. 
> So it's working as intended. The other form of --suggest-providers 
> allows you to specify the service interface so that you can fine tune 
> the additional providers to add to the run-time image. If you change 
> the above to `--suggest-providers java.security.Provider` then you'll 
> see the list of modules provide implementations of Security. You 
> should see the jdk.crypto.ec module in that list.
>
> -Alan
>
I still don't see how entries like this

java.desktop provides javax.sound.midi.spi.MidiDeviceProvider used by 
java.desktop

or this

jdk.jshell provides javax.tools.Tool not used by any observable module

come into play.

In practice a user does not know all service interfaces that are 
potentially relevant for an
application and so cannot search for them. All in all I still think that 
removing --bind-services
from the default parameters is dangerous and at least justifies a warning.

Just my two €ent




More information about the core-libs-dev mailing list