すべて、のEclipse SDKでのデバッグBIRT ODAドライバ - NoClassDefFoundErrorが
私は、これはBIRT/EclipseのSDK /開発者の問題であれば、あまりにもわからない...
私たちは、BIRTを覗くの過程にありますEclipse SDK(インディゴ)用私たちは、BIRTの統合と拡張の本にJason Weathersbyらが投資しました。基本的にODAドライバーとODAドライバーUIの2つのプラグインプロジェクトである、最初のODAドライバーを作成するプロセスを紹介します。残念ながら、デバッグについては決して詳しく述べていません。
ODAドライバがデータを取得するために私たちのアプリケーションにインタフェースするというアイデアがあります。 Properties-> Java Build PathからODAドライバー・プロジェクトにアプリケーションJARファイルの外部JAR参照を追加しました。これは、Eclipseワークスペースの参照されたライブラリの下に表示されます。アプリケーションが使用するすべての参照JARは、参照ライブラリの下にも表示されます。
public static String getIt()
{
return "Ding Dong";
}
:物事は、私はすぐに説明しますどの作業をしていないとして
は、私はまた、単一の静的メソッドでHelloThereと呼ばれる単一のクラスを持っているのEclipse SDKワークスペースにHelloWorldXのJavaプロジェクトを作成しました
これをProperties-> Java Build PathからODAドライバープロジェクトへのプロジェクト参照として追加しました。だから私は何をやった
...
は私が私のEclipse SDK IDEでの2つのプロジェクトを作成したプロジェクト
を作成します。 ODAドライバには、コードで呼び出すレガシーアプリケーションのJARファイルへの参照が含まれています。
これで、HelloWorldXプロジェクトも呼び出されます。
は、デバッグ・セッション
私はオープンコネクション#でブレークポイントを追加して開始します。このブレークポイントは最初の行にあります。
デバッグツールバーの項目をクリックしてデバッグセッションを開始します。初めてEclipseアプリケーションとして実行を選択したことを知らせるメッセージが表示されます。これは次のようにEclipseのSDK IDEに私はオープンファイル - >からレポートデザイナーのファイルをロードすることができますEclipseのSDKの新しいセッション...
レポートの負荷を発生させます:
データソースを右クリックし、新しいデータソースを選択して、新しいデータソースを作成します。 「新規データ・ソース」ダイアログで、私のODAドライバーの名前を選択し、「次へ」をクリックします。接続のテストボタンが表示されたダイアログが表示されます。
[Connection#open]でブレークポイントに当たる[Test Connection]ボタンをクリックします。
次のコードをステップ実行すると、NoClassDefFoundErrorがスローされます。
System.out.println(HelloThere.getIt());
私は私が参照している外部JARファイル内に、当社のレガシーコードのいずれかへの呼び出しを行うときに例外もスローされます。EclipseはOdaConnection.open(Properties)行のワークスペースにウィンドウを表示します:267にはソースがありません。ボタンにはソースルックアップパスの編集...アプリケーションのソースパスを設定するためのさまざまな組み合わせを試しました。ボタンをクリックすると、次のダイアログが現れます:次のように一言で言えば
をスタックトレースは次のとおりです。
org.eclipse.datatools.connectivity.oda.OdaException ;
java.lang.NoClassDefFoundError: HelloWorld/HelloThere
at org.eclipse.datatools.connectivity.oda.profile.OdaConnectionWrapper.open(OdaConnectionWrapper.java:215)
at org.eclipse.datatools.connectivity.oda.profile.OdaConnectionWrapper.<init>(OdaConnectionWrapper.java:59)
... (some trace omitted as big!)
Caused by: java.lang.ClassNotFoundException: HelloWorld.HelloThere
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:513)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:429)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:417)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 49 more
私はとても優しくしてくださいEclipseが新しいです。誰かがどこに見えるか、私が投稿すべきその他の情報を教えてもらえますか?私は何かを間違っているかもしれないが、確かにBIRT ODAドライバーをデバッグする最初の人ではない。私はこれを解決するためにインターネットのいたるところを見てきました。私が見つけた唯一の記事は、2007年に決して答えを得られなかったEclipseフォーラムでした! See Eclipse Community Forums
私は( "のjava.class.path" "")はSystem.getPropertyを使用して、私のODAドライバーからの出力にクラスパスをいくつかのコードを入れている
EDIT。
D:\ SOFTWARE \ Eclipseの\日食-SDK-3.7-win32の\日食\プラグイン\ org.eclipse.equinox.launcher_1.2.0.v20110502.jar
のEND EDIT
おかげ
Andez