JavaProject で動作するEclipse プラグインを作成しました。プロジェクトのクラスのバイトコードに含まれる情報にアクセスする必要があるため、URLClassLoader を使用して (クラスがプロジェクトの「bin」フォルダーにあることを伝えます)、クラスへの参照を取得し、すべてを取得します。私が必要とする情報。残念ながら、メソッドを呼び出すと、loadClass("a certain class in JavaProject")
次のタイプのエラーが発生します。
org.eclipse.e4.core.di.InjectionException: java.lang.NoClassDefFoundError: javassist/bytecode/BadBytecode
この種のエラーは、JavaProject のBuildPathに追加された外部ライブラリがクラスローダーによって「認識 」されていないことが原因であることがわかりました。これらのライブラリのクラスは、JavaProject のクラスによって使用されます。
前のケースでは、 JavaProjectのクラスのこのステートメントでライブラリ javassistのBadBytecode クラスが使用されました
public static void main(String[] args) throws NotFoundException, BadBytecode, IOException, CannotCompileException{
では、Java プロジェクトにインポートされた外部ライブラリのクラスに自分のプラグインが見えるようにするにはどうすればよいでしょうか?