特定の論理 Java パッケージ (例: ) を提供する Java プロジェクトから jar を見つける必要がcom.example.functionality
ありますが、何百ものパッケージがあり、それらの名前は特に役に立ちません。
ディレクトリ/ファイル/jar とパッケージ/クラスの間で作成されたマッピングを見つける方法は?
obj.getClass().getProtectionDomain().getCodeSource()
参照: javadoc
あなたはコードでそれを行うことができます:
クラスmyClass=Class.forName( "com.example.functionality"); //例 /com/example/functionality.class String classfilePath ='/' + myClass.getName()。replace("。"、 "/")+ ".class"; URLの場所=myClass.getResource(classfilePath);
そのURLはJARファイル(またはjarにない場合はクラスフォルダー)になります。ただし、少しハッキーです。すべてのクラスローダーで機能するとは限りません。
1 回限りの検索には、http://www.jarfinder.com/が便利です。Maven Central や Web 上の他の多くのダウンロード サイトのすべてを知っているように見える印象的なインデックスがあり、クラス名で検索して、そのクラスが含まれる JAR を見つけることができます。