1

OSGi アプリケーションを Eclipse の外で実行できるように取り組んでいます。確かに、 java -jar org.eclipse.osgi_3.7.1.jar を実行してプラグインをインストールするだけの場合ではないだろうと思ったほど簡単ではありませんでした。

これが最後の問題であることを願っています

java.sql.SQLException: jdbc に適したドライバーが見つかりません:mysql://localhost:3306/

これはEclipseでうまく機能します。永続化バンドルと、必要なデータベースの種類に応じてロードするいくつかの断片化バンドルがあります。次に、データベース JDBC ドライバーを含む別のバンドルもあります。Eclipseでは実行できますが、Eclipseの外では、クラスローダーを使用してドライバーをロードするなど、すべてを試してきました

Activator.context = bundleContext;

Class.forName("com.mysql.jdbc.Driver");

try {
    context.getBundle().loadClass("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
    e.printStackTrace();
}

何を見ればいいですか?私のセットアップは同一であり、両方で同じバンドルが実行されていることがわかります。

4

1 に答える 1

2

あなたのバンドルはパッケージをインポートしますcom.mysql.jdbcか?

これが Eclipse 内では機能するが、適切な OSGi 環境では機能しない理由の背景については、次の wiki ページを参照してください。

于 2012-03-05T08:12:32.550 に答える