Hallo, ich komme momentan überhaupt nicht mit meinem Problem weiter.
In "Java ist auch eine Insel" steht, dass es sich mit ServiceLoader Programme realisieren lassen, die von konkreten Klassen unabhängig sind.
Das habe ich nun Versucht.
Es gibt eine Schnittstelle A. Es gibt eine konkrete Klasse die diese Schnittstelle implementiert B(A).
Nun gibt es eine dritte Klasse C, die mit Hilfe von ServieceLoader unabhängig von B sein soll.
Also Schreibe ich in C:
ServiceLoader<A> A_process = ServiceLoader.load(A.class);
Dabei erstelle ich unter "scr/META-INF/services" eine Datei mit dem Namen "packetnameInterface".A
Diese Datei hat kein Dateiende.
In die Datei schreibe ich: "paketNameKonkreteKlasse".B
Wenn ich nun versuche aus C heraus B zu starten: A.process.iterator().next();
Kommt exception: NosuchelementException .....
was habe ich falsch gemacht???
:shock:
In "Java ist auch eine Insel" steht, dass es sich mit ServiceLoader Programme realisieren lassen, die von konkreten Klassen unabhängig sind.
Das habe ich nun Versucht.
Es gibt eine Schnittstelle A. Es gibt eine konkrete Klasse die diese Schnittstelle implementiert B(A).
Nun gibt es eine dritte Klasse C, die mit Hilfe von ServieceLoader unabhängig von B sein soll.
Also Schreibe ich in C:
ServiceLoader<A> A_process = ServiceLoader.load(A.class);
Dabei erstelle ich unter "scr/META-INF/services" eine Datei mit dem Namen "packetnameInterface".A
Diese Datei hat kein Dateiende.
In die Datei schreibe ich: "paketNameKonkreteKlasse".B
Wenn ich nun versuche aus C heraus B zu starten: A.process.iterator().next();
Kommt exception: NosuchelementException .....
was habe ich falsch gemacht???
:shock:
Zuletzt bearbeitet: