どうすれば適切に解決できるのかわからない問題があります。起動時にこれらのプラグインを動的にロードするプログラムのプラグインを開発しています。私は通常、メイン プログラムでも使用されている Apache Commons などの依存関係のみを使用するため、これまでのところすべてが非常にうまく機能しています。
今、私はGoogle Guiceで遊んでみましたが、メインプログラムのクラスパスにパッケージがないため、もちろん起動時に NoClassDefFoundError が発生します。問題の解決策を見つけるためにしばらくGoogleを使用しましたが、思いついたのはuber jarを使用することだけでした。それに関する問題は、私が使用している他のプラグインへの依存関係があり、それらすべてを管理する必要があるため、プラグインにそれらをプルしたくないということです。道に迷ってそのマイナー バージョンを更新しなかったために、クラス パスに 2 つの異なる実装が存在することさえあるかもしれません。残念ながら、通常は他のプラグイン用のインターフェースがないため、それを取り入れることはできません.
長いテキスト、短い質問: Maven にファイル内の Guice のみをプルするように指示することは可能ですか? または、さらに良いことに、この問題に対するよりクリーンな解決策はありますか? プロセス全体で何か重要なことを見逃していたのでしょうか?どんな助けでも大歓迎です。