Ahoj, nedávno jsem narazil na třídu java.util.ServiceLoader<S>. Napadlo mě, že by se dobře dala využít jako prostředek k implementaci "zásuvných pluginů" aplikací a tak jsem si chtěl něco takového vyzkoušet. Chtěl jsem naprogramovat něco takového:
1) vytvořím interface HelloService, který bude mít jednu metodu public String getHelloMessage()
2) samotný program načte přes ServiceLoader všechny implementace rozhraní z 1) a všechny zprávy vypíše do konzole
3) zásuvné moduly bude možné do aplikace přidávat nakopírováním jaru (implementujícího interface z 1) ) do adresáře lib umístěného ve stejném adresáři jako samotná aplikace
takže jsem v eclipse udělal to, že jsem si vytvořil tři projekty: a) HelloServiceAPI b) HelloServiceApl c) HelloLukasImpl a nemůžu přijít na to, jak nastavit závislosti HelloServiceApl a HelloLukasImpl projektů na HelloServiceAPI tak, aby mi při exportu HelloServiceApl dávala JAR z HelloServiceAPI do externího adresáře s názvem "lib".
Při exportu HelloServiceApl jsem sice nastavil Copy required libraries into sub-folder next to the generated JAR ale to mi to strká do adresáře HelloServiceApl_lib a já bych chtěl aby se adresář jmenoval jen lib.
Pak také nevím jak mám nastavit závislost tak, aby HelloServiceApl a HelloLukasImpl používaly při běhu stejný jar API.
Nemáte někdo nějaký nápad?