詳細:Jalapenoフレームワークを使用してRCPアプリケーションとCacheのデータベースを接続しようとしています。接続が確立した後、私は正確にハラペーニョのマニュアルのようなテーブルからすべてのデータを取得しようとしている:Eclipse RCP:ClassNotFoundExceptionまたは他のバンドルをロードする方法クラス
if (objManager==null) return;
DBClass cortege = null;
try {
Iterator terms = objManager.openByQuery(DBClass.class, null, null);
System.out.println("terms ok");
while (terms.hasNext()){
System.out.println("has next");
cortege = (DBClass)terms.next();
}
このコード、コンパイル、実行およびtrowing例外terms.nextで
java.lang.RuntimeException: myPluginId.views.DBClass
at com.intersys.objects.POJOIterator.next(POJOIterator.java:75)
...skip...
Caused by: java.lang.ClassNotFoundException: myPlugin.views.DBClass
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at org.eclipse.core.runtime.internal.adaptor.ContextFinder.loadClass(ContextFinder.java:129)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at com.jalapeno.runtime.ObjectCopierToPojo.detach(ObjectCopierToPojo.java:76)
at com.jalapeno.runtime.ObjectCopierToPojo.findPojo(ObjectCopierToPojo.java:472)
at com.intersys.classes.CacheRootObject.detach(CacheRootObject.java:255)
at com.intersys.classes.Persistent.detach(Persistent.java:567)
at com.intersys.objects.POJOIterator.next(POJOIterator.java:59)
(); 私はまったくそれを得ることができません... DBClassクラスのインスタンスが作成されましたが、クラスはロードできません。 私はこのコードを単純なJavaアプリケーション(eclipse rcpではなく)に配置しようとしました。だから私はいくつかのEclipseの部分クラスの読み込みをブロックすると思います。
また、terms.next()を呼び出す前にクラスをロードしようとしました。
Bundle b = Platform.getBundle("myPluginId");
try {
b.loadClass("DBClass");
} catch (ClassNotFoundException e) {
System.out.println("no class");
e.printStackTrace();
}
と同じエラーが発生しました。クラスをロードできません。 それは既知の問題ですか?解決策はありますか? =========================== JalapenoプラグインをMyプラグインからクラスをロードするにはどうすればいいですか?
eclipseグーグルグループが見つかりました、そのJ alapenoプラグインと私のクラスは、同じクラスローダーで読み込まれなければなりません...私はこれを行う方法がわかりません。 – Imaskar
それは私が必要なものですか? http://wiki.eclipse.org/index.php/BundleProxyClassLoader_recipe 「はい」の場合は、どのように使用しますか? – Imaskar
下記の私の答えを見てください。はい、あなたはバディクラスの読み込みが必要だと思います。 – nstehr