java.util.ServiceLoaderを使用して、軽量のプラグインフレームワークを作成しています。
私は現在、同じFQNで複数の実装クラスを作成する方法に取り組んでいます。クラスパスに同じプラグインの2つのコピーを置き、META-INF/servicesディレクトリにある両方の実装クラスにアクセスしたいと思います。
これが私が何を意味するかを説明するいくつかの簡単なEclipseプロジェクトです: https ://docs.google.com/open?id = 0B4MxFm-ACB3IUmswN0dpMExTVms
ServiceLoaderIntfには、プラグインによって実装されるシンプルなインターフェイスがあります。ProjectOneとProjectTwoはプラグインを表します。ServiceLoaderには、実装者を反復処理してinit()メソッドを呼び出すTesterクラスがあります。
実装クラスが同じFQNを持っている場合でも、どうすればすべての実装者を認識させることができますか?現在、ProjectOneのプラグインクラスを認識するだけです。