システムの概要:
- Eclipse Indigo for RAP RCP開発者、RAP 1.4ターゲットコンポーネント、Dali JPA、Jre1.6.0_33(Java1.6SE)
- ローカルオラクルmysqlデータベース
- プロジェクトにインポートされたすべてのJPA(永続性)+ EclipseリンクOSGiバンドル(eclipse wikiによる)
- プロジェクトにインポートされたcom.mysql.jdbc.Driverクラスを含むOSGiバンドル(最新の5.1.21?Oracleページから)
- jdbcドライバー、正しいmysql dbパス、正しいパスワードとユーザーを使用してJPA経由で作成された永続プラグイン(com.mysql.jdbcバンドルに依存関係を追加)
ClassLoaderの問題を回避するには:
- bundle / plugin com.mysql.jdbcのMANIFEST.MFには次のものがあります。Bundle -BuddyPolicy:登録済み
- org.eclipse.persistence.core& org.eclipse.persitence.jpaと私のMANIFEST.MFにBuddyが登録されている「persistencebundle」: Eclipse - RegisterBuddy :com.mysql.jdbc +このバンドルに依存関係を追加しましたcom.mysql .jdbc
問題:
前のすべてのステップの後でも、私はまだ持っています:
ClassNotFoundException - Driver not found
述べる:
- Eclipse DatabaseConnection内からテストされたローカルホストmysqldbへの接続、バンドルcom.mysql.jdbc(クラスcom.mysql.jdbc.Driver)からの同じドライバーを使用[OK]
- org.apache.derby Embedded db with Embeded driverが永続性に使用されている場合(mysqlの代わりに)(同じBuddyポリシーを使用)、問題は発生しません-すべてが正常に機能します
質問:
- BuddyPolicyが適用されたとしても、ClassLoaderで問題が発生する可能性はありますか?
- OSGiバンドルとして使用する場合、ドライバー自体に問題が発生する可能性がありますか?
- 誰かがこのcom.mysql.osgiバンドルをRPPまたはRAPでJPA+Eclipselinkと一緒に使用しようとしたことがありますか?