我正在尝试将 Apache Aries JPA 与 Eclipselink(和一个 MSSQL 数据库)结合使用。我的 OSGi 框架是 Apache Felix,我正在使用 DS(通过使用 BndTools)。经过长时间的反复试验,我找到了必要的捆绑包:
- javax.persistence
- 包含 jdbc.mssql 的 DataSourceFactory 的包
- org.apache.aries.jpa.api
- org.apache.aries.jpa.container
- org.apache.aries.jpa.support
- org.apache.aries.transaction.manager
- org.apache.aries.jpa.javax.persistence_2.0
- org.apache.aries.util
- org.apache.geronimo.specs.geronimo-jta_1.1_spec
- org.apache.aries.jpa.eclipselink.adapter
- org.eclipse.persistence.antlr
- org.eclipse.persistence.asm
- org.eclipse.persistence.core
- org.eclipse.persistence.jpa
- org.eclipse.persistence.jpa.jpql
当我开始这个配置时,我得到以下异常:
java.lang.NoClassDefFoundError: javax/sql/DataSource
at org.eclipse.persistence.jpa.PersistenceProvider.createContainerEntityManagerFactoryImpl(PersistenceProvider.java:328)
at org.eclipse.persistence.jpa.PersistenceProvider.createContainerEntityManagerFactory(PersistenceProvider.java:313)
哪个包应该包含 javax.sql.DataSource 类?我希望这将成为 JDK 的一部分。
有谁知道这是什么原因造成的,或者我该如何解决这个问题?如何让 Apache Aries JPA 在 DS 环境中与 Eclipselink 一起运行?
谢谢。