OpenJPA в OSGi не находит MySQL JDBC Connector Bundle
в настоящее время я работаю над проектом OSGi на Felix (v4.0.3). Мне нужно использовать JPA, поэтому я установил пакеты Apache Aries JPA. Я также установил OpenJPA, и мне нужно подключиться к базе данных MySQL, используя пакет MySQL Connector. К сожалению, это не работает, OpenJPA говорит, что не может найти класс MySQL JDBC, и я не могу понять, что сломано, возможно, я делаю что-то неправильно. Я объясню ниже, что я установил точно вместе с настойчивостью.xml-файл и фактический исключение я получаю.
вот список пакетов Apache Aries, которые я установил:
- org.апаш.овен.jpa.api-0.3.Джар
- org.апаш.овен.jpa.контейнер.контекст-0.3.Джар
- org.апаш.овен.jpa.контейнер-0.3.Джар
- org.апаш.овен.util-0.4.Джар
затем я установил зависимости этих пакетов Apache Aries JPA. Я загрузил их из Springsource :
- com.springsource.класса javax.сделки-1.1.0.Джар
- com.springsource.org.apache.log4j-1.2.16.jar
- com.springsource.slf4j.АПИ-1.6.1.Джар
- com.springsource.slf4j.к log4j-1.6.1.Джар
- javax.persistence_2.0.4.v201112161009.jar (это из EclipseLink, если это имеет значение)
Я также установил OpenJPA и все его зависимости. Я нашел связки!--33-->2 до 5 (Коммонс-*) в lib на apache-openjpa-2.2.0 загрузить папку. Я скачал Серп здесь потому что Банка, найденная в папке lib, не была пакетом OSGi. Наконец, я нашел последние два пакета (#7 и #8) в Springsource :
- openjpa-2.2.0.Джар
- достояния-коллекции-3.2.1.Джар
- commons-dbcp-1.4.Джар
- commons-lang-2.4.Джар
- Коммонс-бассейн-1.5.4.Джар
- org.апаш.среде ServiceMix.пачки.serp-1.13.1_4.Джар
- com.springsource.класса javax.сервлет-2.5.0.Джар
- com.springsource.org.objectweb.asm-3.2.0.jar
как только я, наконец, установил OpenJPA, мне все еще нужен драйвер JDBC MySQL bundle, который я также получил из репозитория Springsource вместе с зависимостью ведения журнала commons:
- com.springsource.com.mysql.jdbc-5.1.6.jar
- com.springsource.org.apache.commons.logging-1.1.1.jar
сейчас на данный момент список установленных пакетов становится довольно большой. Я сказал, что установил OpenJPA, но это только потому, что я не мог понять, как использовать любого другого провайдера с Овном. Сначала я хотел использовать EclipseLink, но по-видимому, Apache Aries не обнаруживает его как провайдера и в соответствии с этот блог вы должны сделать еще один пакет, содержащий ваш собственный активатор для Овна, чтобы заметить EclipseLink. Я попробовал, но это не сработало, поэтому я вернулся к использованию OpenJPA.
Итак, теперь у меня два вопроса :
- как я могу заставить OpenJPA заметить мой пакет MySQL ?
или же :
- как я могу сделать Apache Овен обратите внимание на EclipseLink ?
вот это упорство.xml-файл, который я использую:
<persistence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
version="2.0" xmlns="http://java.sun.com/xml/ns/persistence">
<persistence-unit name="userManager.model" transaction-type="RESOURCE_LOCAL">
<provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
<class>org.project.dao.entity.UserEntity</class>
<properties>
<property name="openjpa.ConnectionDriverName" value="com.mysql.jdbc.Driver" />
<property name="openjpa.ConnectionURL" value="jdbc:mysql://localhost:3306/usermanager?autoReconnect=true" />
<property name="openjpa.ConnectionUserName" value="root" />
<property name="openjpa.ConnectionPassword" value="root" />
</properties>
</persistence-unit>
</persistence>
ошибка возникает, когда выполняется следующий конструктор моего класса DAO:
@PersistenceContext(unitName="userManager.model")
private EntityManager em;
private EntityManagerFactory emf;
public UserDAOBean() {
em = emf.createEntityManager();
}
вот ошибка, которую я получаю с OpenJPA, не находя MySQL. Конечно, стоит отметить, что и URL-адрес, и имя пользователя / пароль работают:
<openjpa-2.2.0-r422266:1244990 nonfatal general error> org.apache.openjpa.persistence.PersistenceException: There were errors initializing your configuration: <openjpa-2.2.0-r422266:1244990 fatal user error> org.apache.openjpa.util.UserException: A connection could not be obtained for driver class "com.mysql.jdbc.Driver" and URL "jdbc:mysql://localhost:3306/usermanager?autoReconnect=true". You may have specified an invalid URL.
at org.apache.openjpa.jdbc.schema.DataSourceFactory.newConnectException(DataSourceFactory.java:255)
at org.apache.openjpa.jdbc.schema.DataSourceFactory.newDataSource(DataSourceFactory.java:123)
at org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl.createConnectionFactory(JDBCConfigurationImpl.java:844)
at org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl.getConnectionFactory(JDBCConfigurationImpl.java:732)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.openjpa.lib.conf.ConfigurationImpl.instantiateAll(ConfigurationImpl.java:295)
at org.apache.openjpa.conf.OpenJPAConfigurationImpl.instantiateAll(OpenJPAConfigurationImpl.java:1671)
at org.apache.openjpa.kernel.AbstractBrokerFactory.makeReadOnly(AbstractBrokerFactory.java:646)
at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:203)
at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:156)
at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:227)
at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:154)
at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:60)
at org.apache.aries.jpa.container.impl.CountingEntityManagerFactory.createEntityManager(CountingEntityManagerFactory.java:64)
at javax.persistence.EntityManagerFactory$$Proxy.createEntityManager(Unknown Source)
Я вырезал исключение (оно продолжается и продолжается) до этого момента:
Caused by: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver not found by org.apache.openjpa [12]
at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1460)
at org.apache.felix.framework.BundleWiringImpl.access0(BundleWiringImpl.java:72)
at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1843)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at org.apache.openjpa.jdbc.schema.DataSourceFactory.newDataSource(DataSourceFactory.java:85)
... 108 more
PS: I не удалось опубликовать ссылки на Овен, OpenJPA или EclipseLink из-за ограничения спама, извините :/
3 ответов
благодаря Холли Камминс и после еще нескольких часов исследований я смог найти решение своей проблемы. Я подробно расскажу об этом ниже, это будет очень долго ответ.
если вы хотите использовать EclipseLink С Apache Aries (который я нахожу на порядки проще установить, чем OpenJPA для OSGi, потому что он содержится в только 5 пакетов), вам придется проверить адаптер EclipseLink - Aries напрямую из Apache, потому что он еще не был выпущен.
заходим в соответствующую папку и выполните следующую команду, чтобы получить его :
svn checkout https://svn.apache.org/repos/asf/aries/trunk/jpa/jpa-container-eclipselink-adapter/
вы должны получить папку с именем jpa-контейнер-eclipselink-адаптер. Теперь, предполагая, что вы используете Linux и установили Maven, выполните следующие команды:
cd jpa-container-eclipselink-adapter
mvn clean install
после того, как Maven успешно скомпилировал источник адаптера, вы найдете его в своем репозитории Maven, используя путь
<maven-repo>/org/apache/aries/jpa/org.apache.aries.jpa.eclipselink.adapter/0.3.1-SNAPSHOT/org.apache.aries.jpa.eclipselink.adapter-0.3.1-SNAPSHOT.jar
вам придется развернуть этот пакет вместе с другими (копирование его в bundle папка для Феликса).
так что это было для части EclipseLink, теперь, чтобы сделать вашу настойчивость действительно работать, вам придется использовать Blueprint с Овном. Вот список все пакеты, которые вам нужно будет получить от [http://aries.apache.org/downloads/currentrelease.html] (Apache Aries загрузить стр.)
- org.апаш.овен.чертеж
- org.апаш.овен.прокси
- org.апаш.овен.в JNDI.в API
- org.апаш.овен.в JNDI
- org.апаш.овен.чертеж
- org.апаш.овен.jpa.в API
- org.апаш.овен.jpa.контейнер.контекст
- org.апаш.овен.jpa.контейнер
- org.апаш.овен.торговая операция.чертеж
- org.апаш.овен.торговая операция.менеджер (это он указан дважды на их сайте, это просто дубликат)
- org.апаш.овен.util
как только вы закончите загрузку Овна, вам все еще нужны зависимости (получите их из SpringSource). Это пакеты для привязки SLF4J, Log4J, SLF4J Log4J и javax.сделки 1.1 также нужны пакеты от EclipseLink (вам нужна версия пакета OSGi)
http://www.eclipse.org/eclipselink/downloads/
откройте zip и получите следующие файлы:
- org.затмение.стойкость.antlr
- org.затмение.стойкость.asm
- org.затмение.стойкость.ядро
- org.затмение.стойкость.jpa
- javax.настойчивость
наконец, если что вы хотите использовать базу данных MySQL, вам понадобятся пакеты для драйвера JDBC MySQL (загруженного из Springsource)
- http://ebr.springsource.com/repository/app/bundle/version/detail?name=com.springsource.com.mysql.jdbc&version=5.1.6
- http://ebr.springsource.com/repository/app/bundle/version/detail?name=com.springsource.org.apache.commons.logging&version=1.1.1
если у вас есть все эти пакеты установлены, вам нужно использовать не-jta-источник данных что вы получите через JNDI. Вот это настойчивость.xml-файл, который можно изменить для ваших нужд :
<persistence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
version="2.0" xmlns="http://java.sun.com/xml/ns/persistence">
<persistence-unit name="userManager" transaction-type="RESOURCE_LOCAL">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<non-jta-data-source>osgi:service/javax.sql.DataSource/(osgi.jndi.service.name=jdbc/userManagerDS)</non-jta-data-source>
<class>com.example.dao.entity.UserEntity</class>
<exclude-unlisted-classes>true</exclude-unlisted-classes>
<properties>
<!-- EclipseLink should create the database schema automatically -->
<!-- <property name="eclipselink.ddl-generation" value="create-tables" />
<property name="eclipselink.ddl-generation.output-mode" value="database" /> -->
</properties>
</persistence-unit>
</persistence>
посмотреть javax.язык SQL.Источник в теге не-JTA-data-source ? Это то, что мы определим с помощью Blueprint xml. Для этого вам сначала нужно добавить OSGI-INF / blueprint/ папки в вашем пакете сохраняемости (тот, который содержит ваши DAOs и сущности). Это папка по умолчанию, в которой находятся XML-файлы blueprint, любой xml-файл, расположенный здесь, будет сканироваться. Как только это будет сделано, создайте копирку.в XML файл (имя может быть изменено) и вставить (и изменить) следующий код:
<bean id="dataSource" class="com.mysql.jdbc.jdbc2.optional.MysqlDataSource">
<property name="url" value="jdbc:mysql://localhost:3306/usermanager?autoReconnect=true" />
<property name="user" value="root" />
<property name="password" value="root" />
</bean>
<service id="MySQLDataSource" interface="javax.sql.DataSource" ref="dataSource">
<service-properties>
<entry key="osgi.jndi.service.name" value="jdbc/userManagerDS" />
</service-properties>
</service>
<service id="userDAOService" interface="com.example.dao.remote.UserDAORemote">
<bean class="com.example.dao.beans.UserDAOBean">
<jpa:unit index="0" unitname="userManager" />
</bean>
</service>
</blueprint>
здесь, мы делаем две вещи. Во-первых, мы говорим Овну создать userManagerDS источник данных и настройте его с помощью драйвера JDBC, URL, пользователя и пароля. Это тот же источник данных что мы использовали в настойчивость.в XML.
затем мы вводим EntityManagerFactory в нашем DAO. Наш Дао-это com.образец.Дао.зернышки.UserDAOBean класс, нам нужно добавить его имя в бин тег. Этот класс должен будет реализовать интерфейс, и нам нужно будет добавить этот интерфейс в сервис тег. Теперь финал jpa:unit тег говорит Овну ввести связанный EntityManagerFactory к единице настойчивостиuserManager (то же имя, которое мы использовали в настойчивости.xml) с помощью первого конструктора UserDAOBean. Это делается с помощью атрибута index="0". Это также означает, что у вас должен быть какой-то код, как показано ниже в DAO :
private EntityManager em;
private EntityManagerFactory emf;
public UserDAOBean(EntityManagerFactory emf) {
this.emf = emf;
this.em = emf.createEntityManager();
}
также возможно впрыснуть EMF используя сеттер. Вот дополнительные ресурсы, которые помогут вам использовать Blueprint :
- http://aries.apache.org/modules/jpaproject.html
- http://aries.apache.org/modules/blueprint.html
- http://mail-archives.apache.org/mod_mbox/aries-user/201104.mbox/%3C15F2C30E-2A71-4320-9992-DBCF181B58E4@gmail.com%3E
дополнительно: будьте осторожны, если вы используете Felix, добавляя javax.пакет транзакций вызовет ограничение " uses нарушение", поскольку системный пакет (пакет 0) также экспортирует этот API. Вам придется запретить его экспорт, изменив следующую строку в конфигурации.свойства :
#org.osgi.framework.system.packages=
вам придется поместить здесь список все пакеты, экспортированные предыдущим пакетом. К сожалению, нет способа "удалить" пакет, вы должны переопределить весь список пакетов для экспорта. Вот мой, я надеюсь, что это поможет (да, это очень, очень долго) :
org.osgi.framework.system.packages=org.osgi.framework;version=1.6.0, org.osgi.framework.launch;version=1.0.0, org.osgi.framework.wiring;version=1.0.0, org.osgi.framework.startlevel;version=1.0.0, org.osgi.framework.hooks.bundle;version=1.0.0, org.osgi.framework.hooks.resolver;version=1.0.0, org.osgi.framework.hooks.service;version=1.1.0, org.osgi.framework.hooks.weaving;version=1.0.0, org.osgi.service.packageadmin;version=1.2.0, org.osgi.service.startlevel;version=1.1.0, org.osgi.service.url;version=1.0.0, org.osgi.util.tracker;version=1.5.0, javax.accessibility;version=0.0.0.1_006_JavaSE, javax.activation;version=0.0.0.1_006_JavaSE, javax.activity;version=0.0.0.1_006_JavaSE, javax.annotation.processing;version=0.0.0.1_006_JavaSE, javax.annotation;version=0.0.0.1_006_JavaSE, javax.crypto.interfaces;version=0.0.0.1_006_JavaSE, javax.crypto.spec;version=0.0.0.1_006_JavaSE, javax.crypto;version=0.0.0.1_006_JavaSE, javax.imageio.event;version=0.0.0.1_006_JavaSE, javax.imageio.metadata;version=0.0.0.1_006_JavaSE, javax.imageio.plugins.bmp;version=0.0.0.1_006_JavaSE, javax.imageio.plugins.jpeg;version=0.0.0.1_006_JavaSE, javax.imageio.spi;version=0.0.0.1_006_JavaSE, javax.imageio.stream;version=0.0.0.1_006_JavaSE, javax.imageio;version=0.0.0.1_006_JavaSE, javax.jws.soap;version=0.0.0.1_006_JavaSE, javax.jws;version=0.0.0.1_006_JavaSE, javax.lang.model.element;version=0.0.0.1_006_JavaSE, javax.lang.model.type;version=0.0.0.1_006_JavaSE, javax.lang.model.util;version=0.0.0.1_006_JavaSE, javax.lang.model;version=0.0.0.1_006_JavaSE, javax.management.loading;version=0.0.0.1_006_JavaSE, javax.management.modelmbean;version=0.0.0.1_006_JavaSE, javax.management.monitor;version=0.0.0.1_006_JavaSE, javax.management.openmbean;version=0.0.0.1_006_JavaSE, javax.management.relation;version=0.0.0.1_006_JavaSE, javax.management.remote.rmi;version=0.0.0.1_006_JavaSE, javax.management.remote;version=0.0.0.1_006_JavaSE, javax.management.timer;version=0.0.0.1_006_JavaSE, javax.management;version=0.0.0.1_006_JavaSE, javax.naming.directory;version=0.0.0.1_006_JavaSE, javax.naming.event;version=0.0.0.1_006_JavaSE, javax.naming.ldap;version=0.0.0.1_006_JavaSE, javax.naming.spi;version=0.0.0.1_006_JavaSE, javax.naming;version=0.0.0.1_006_JavaSE, javax.net.ssl;version=0.0.0.1_006_JavaSE, javax.net;version=0.0.0.1_006_JavaSE, javax.print.attribute.standard;version=0.0.0.1_006_JavaSE, javax.print.attribute;version=0.0.0.1_006_JavaSE, javax.print.event;version=0.0.0.1_006_JavaSE, javax.print;version=0.0.0.1_006_JavaSE, javax.rmi.CORBA;version=0.0.0.1_006_JavaSE, javax.rmi.ssl;version=0.0.0.1_006_JavaSE, javax.rmi;version=0.0.0.1_006_JavaSE, javax.script;version=0.0.0.1_006_JavaSE, javax.security.auth.callback;version=0.0.0.1_006_JavaSE, javax.security.auth.kerberos;version=0.0.0.1_006_JavaSE, javax.security.auth.login;version=0.0.0.1_006_JavaSE, javax.security.auth.spi;version=0.0.0.1_006_JavaSE, javax.security.auth.x500;version=0.0.0.1_006_JavaSE, javax.security.auth;version=0.0.0.1_006_JavaSE, javax.security.cert;version=0.0.0.1_006_JavaSE, javax.security.sasl;version=0.0.0.1_006_JavaSE, javax.sound.midi.spi;version=0.0.0.1_006_JavaSE, javax.sound.midi;version=0.0.0.1_006_JavaSE, javax.sound.sampled.spi;version=0.0.0.1_006_JavaSE, javax.sound.sampled;version=0.0.0.1_006_JavaSE, javax.sql.rowset.serial;version=0.0.0.1_006_JavaSE, javax.sql.rowset.spi;version=0.0.0.1_006_JavaSE, javax.sql.rowset;version=0.0.0.1_006_JavaSE, javax.sql;version=0.0.0.1_006_JavaSE, javax.swing.border;version=0.0.0.1_006_JavaSE, javax.swing.colorchooser;version=0.0.0.1_006_JavaSE, javax.swing.event;version=0.0.0.1_006_JavaSE, javax.swing.filechooser;version=0.0.0.1_006_JavaSE, javax.swing.plaf.basic;version=0.0.0.1_006_JavaSE, javax.swing.plaf.metal;version=0.0.0.1_006_JavaSE, javax.swing.plaf.multi;version=0.0.0.1_006_JavaSE, javax.swing.plaf.synth;version=0.0.0.1_006_JavaSE, javax.swing.plaf;version=0.0.0.1_006_JavaSE, javax.swing.table;version=0.0.0.1_006_JavaSE, javax.swing.text.html.parser;version=0.0.0.1_006_JavaSE, javax.swing.text.html;version=0.0.0.1_006_JavaSE, javax.swing.text.rtf;version=0.0.0.1_006_JavaSE, javax.swing.text;version=0.0.0.1_006_JavaSE, javax.swing.tree;version=0.0.0.1_006_JavaSE, javax.swing.undo;version=0.0.0.1_006_JavaSE, javax.swing;version=0.0.0.1_006_JavaSE, javax.tools;version=0.0.0.1_006_JavaSE, javax.transaction.xa;version=0.0.0.1_006_JavaSE, javax.transaction;version=0.0.0.1_006_JavaSE, javax.xml.bind.annotation.adapters;version=0.0.0.1_006_JavaSE, javax.xml.bind.annotation;version=0.0.0.1_006_JavaSE, javax.xml.bind.attachment;version=0.0.0.1_006_JavaSE, javax.xml.bind.helpers;version=0.0.0.1_006_JavaSE, javax.xml.bind.util;version=0.0.0.1_006_JavaSE, javax.xml.bind;version=0.0.0.1_006_JavaSE, javax.xml.crypto.dom;version=0.0.0.1_006_JavaSE, javax.xml.crypto.dsig.dom;version=0.0.0.1_006_JavaSE, javax.xml.crypto.dsig.keyinfo;version=0.0.0.1_006_JavaSE, javax.xml.crypto.dsig.spec;version=0.0.0.1_006_JavaSE, javax.xml.crypto.dsig;version=0.0.0.1_006_JavaSE, javax.xml.crypto;version=0.0.0.1_006_JavaSE, javax.xml.datatype;version=0.0.0.1_006_JavaSE, javax.xml.namespace;version=0.0.0.1_006_JavaSE, javax.xml.parsers;version=0.0.0.1_006_JavaSE, javax.xml.soap;version=0.0.0.1_006_JavaSE, javax.xml.stream.events;version=0.0.0.1_006_JavaSE, javax.xml.stream.util;version=0.0.0.1_006_JavaSE, javax.xml.stream;version=0.0.0.1_006_JavaSE, javax.xml.transform.dom;version=0.0.0.1_006_JavaSE, javax.xml.transform.sax;version=0.0.0.1_006_JavaSE, javax.xml.transform.stax;version=0.0.0.1_006_JavaSE, javax.xml.transform.stream;version=0.0.0.1_006_JavaSE, javax.xml.transform;version=0.0.0.1_006_JavaSE, javax.xml.validation;version=0.0.0.1_006_JavaSE, javax.xml.ws.handler.soap;version=0.0.0.1_006_JavaSE, javax.xml.ws.handler;version=0.0.0.1_006_JavaSE, javax.xml.ws.http;version=0.0.0.1_006_JavaSE, javax.xml.ws.soap;version=0.0.0.1_006_JavaSE, javax.xml.ws.spi;version=0.0.0.1_006_JavaSE, javax.xml.ws.wsaddressing;version=0.0.0.1_006_JavaSE, javax.xml.ws;version=0.0.0.1_006_JavaSE, javax.xml.xpath;version=0.0.0.1_006_JavaSE, javax.xml;version=0.0.0.1_006_JavaSE, org.ietf.jgss;version=0.0.0.1_006_JavaSE, org.omg.CORBA.DynAnyPackage;version=0.0.0.1_006_JavaSE, org.omg.CORBA.ORBPackage;version=0.0.0.1_006_JavaSE, org.omg.CORBA.TypeCodePackage;version=0.0.0.1_006_JavaSE, org.omg.CORBA.portable;version=0.0.0.1_006_JavaSE, org.omg.CORBA;version=0.0.0.1_006_JavaSE, org.omg.CORBA_2_3.portable;version=0.0.0.1_006_JavaSE, org.omg.CORBA_2_3;version=0.0.0.1_006_JavaSE, org.omg.CosNaming.NamingContextExtPackage;version=0.0.0.1_006_JavaSE, org.omg.CosNaming.NamingContextPackage;version=0.0.0.1_006_JavaSE, org.omg.CosNaming;version=0.0.0.1_006_JavaSE, org.omg.Dynamic;version=0.0.0.1_006_JavaSE, org.omg.DynamicAny.DynAnyFactoryPackage;version=0.0.0.1_006_JavaSE, org.omg.DynamicAny.DynAnyPackage;version=0.0.0.1_006_JavaSE, org.omg.DynamicAny;version=0.0.0.1_006_JavaSE, org.omg.IOP.CodecFactoryPackage;version=0.0.0.1_006_JavaSE, org.omg.IOP.CodecPackage;version=0.0.0.1_006_JavaSE, org.omg.IOP;version=0.0.0.1_006_JavaSE, org.omg.Messaging;version=0.0.0.1_006_JavaSE, org.omg.PortableInterceptor.ORBInitInfoPackage;version=0.0.0.1_006_JavaSE, org.omg.PortableInterceptor;version=0.0.0.1_006_JavaSE, org.omg.PortableServer.CurrentPackage;version=0.0.0.1_006_JavaSE, org.omg.PortableServer.POAManagerPackage;version=0.0.0.1_006_JavaSE, org.omg.PortableServer.POAPackage;version=0.0.0.1_006_JavaSE, org.omg.PortableServer.ServantLocatorPackage;version=0.0.0.1_006_JavaSE, org.omg.PortableServer.portable;version=0.0.0.1_006_JavaSE, org.omg.PortableServer;version=0.0.0.1_006_JavaSE, org.omg.SendingContext;version=0.0.0.1_006_JavaSE, org.omg.stub.java.rmi;version=0.0.0.1_006_JavaSE, org.w3c.dom.bootstrap;version=0.0.0.1_006_JavaSE, org.w3c.dom.events;version=0.0.0.1_006_JavaSE, org.w3c.dom.ls;version=0.0.0.1_006_JavaSE, org.w3c.dom;version=0.0.0.1_006_JavaSE, org.xml.sax.ext;version=0.0.0.1_006_JavaSE, org.xml.sax.helpers;version=0.0.0.1_006_JavaSE, org.xml.sax;version=0.0.0.1_006_JavaSE
возможно, вам больше повезет использовать источник данных JNDI, а не прямое соединение jdbc. The пример блога Овна есть блог.пакет datasource, который регистрирует источник данных с помощью Blueprint. Список необходимых пакетов длиннее, чем у вас есть в настоящее время, но вы можете просто скопировать их все из блог-сборки/целевого каталога или pom.XML.
кроме того, у Овна есть организация.апаш.овен.jpa.eclipselink.адаптер, который делает то же самое, что и статья вы связан. Овен использует его для тестирования против EclipseLink, поэтому он определенно должен работать. Вы также можете посмотреть тесты Овна, чтобы узнать, как он используется, и посмотреть, есть ли тест EclipseLink, который вы можете скопировать.
все может быть проще при использовании плагина gemini blueprint dbAccess (http://www.eclipse.org/gemini/dbaccess/), который, я думаю, будет работать и для Овна. Для MySQL обязательно включите плагин connector (например http://ebr.springsource.com/repository/app/bundle/version/detail?name=com.springsource.com.mysql.jdbc&version=5.1.6) - ... Этого должно быть достаточно для запуска и запуска базы данных при условии наличия схемы.xml (для использования примера выше) является настроен правильно, как указано выше.