1
系統概述的EclipseLink MySQL的JDBC:JPA與在Eclipse RAP/RCP
- 的Eclipse靛藍爲RAP RCP開發者,RAP 1.4目標組件,大理JPA,Jre1.6.0_33(Java1.6SE)
- 本地Oracle MySQL數據庫
- 所有JPA(持久性)+項目導入Eclipse中的鏈接OSGi包(根據維基蝕)包含在項目進口com.mysql.jdbc.Driver類
- OSGi包(最新5.1.21?來自Oracle頁面)
- 持久性插件經由JPA創建的,與JDBC驅動,正確MySQL數據庫的路徑,正確的密碼&用戶(加入依賴性com.mysql.jdbc束)
爲了避免類加載器的問題:
- 束/插件com.mysql.jdbc在其MANIFEST.MF:捆綁-BuddyPolicy:註冊
- org.eclipse.persistence.core & org.eclipse.persitence.jpa和礦「持久性bundle」具有好友在其MANIFEST.MF註冊:Eclipse-RegisterBuddy:com.mysql.jdbc +他們已經增加了對這個包的依賴com.mysql.jdbc
問題:
即使前面的所有步驟後,我還有: ClassNotFoundException - Driver not found
備註:
- 連接到本地主機的MySQL數據庫在Eclipse的DatabaseConnection內部測試,使用相同的驅動程序來自bundle com.mysql.jdbc(類com.mysql.jdbc.Driver )[OK]
- 如果org.apache.derby嵌入式數據庫與嵌入式驅動程序用於持久性(而不是MySQL的)(具有相同的好友政策),問題不會出現 - 一切正常
問:即使應用BuddyPolicy
- 會不會是問題仍然類加載器?
- 當它用作OSGi捆綁軟件時,它可能是驅動程序本身的問題嗎?
- 有人試圖在RCP或RAP中使用此com.mysql.osgi包以及JPA + Eclipselink?