詳細: Jalapeno フレームワークを使用して RCP アプリを Cache のデータベースに接続しようとしています。接続が確立された後、ハラペーニョのマニュアルとまったく同じように、テーブルからすべてのデータを取得しようとしています:
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();
}
このコードのコンパイル、実行、およびトローイングの例外
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)
terms.next(); で
まったく取得できません... クラス 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();
}
...そして同じエラーが発生しました。クラスをロードできません。それで、それは既知の問題ですか?解決策はありますか?
アップデート
質問を更新するいくつかの調査の後:
My プラグインからクラスをロードする Jalapeno プラグインの作成方法は?