Are you sure that the services your third-party jar wants to look up via
java.util.ServiceLoader.load(Clazz.class) are registered as
META-INF/services entries?
The problem could be that Lookup.getDefault().lookup(Clazz.class) also
looks up services registered in the system file system (layer.xml)
I don't have a solution at hand but remember that the lookup will keep
a single object instance in memory for a given service entry while the
ServiceLoader will create fresh instances if it's just reading
META-INF/service files (unless the JAR keeps a reference to a single
ServiceLoader instance
I can't respond theoretically to this but would be happy to look at it if
you could put a small app together that reproduces this, on GitHub.
Gj
On Sat, Aug 17, 2019 at 8:12 AM Damian Carey wrote:
> Hi all,
>
> We have a "mature" (10+ year old) Netbeans Platform Swing product, which
> has 35+
Hi all,
We have a "mature" (10+ year old) Netbeans Platform Swing product, which
has 35+ modules. This all works well.
As usual, when one Netbeans module provides an Implementation we find it
from other Netbeans modules using the usual idiom ...
Provider: puts entry in META-INF/services