2010-12-08 3 views
4

Я пытаюсь предоставить интерфейс, который я могу вызвать из MATLAB для доступа к содержимому базы данных. У меня уже есть существующий Java-интерфейс, который использует eclipselink для подключения к базе данных, и я бы хотел его повторно использовать. Я написал класс, чтобы обеспечить это, и она работает должным образом, когда я называю его прямо из Java, но когда я пытаюсь вызвать его из MATLAB я получаю следующее исключение:Использование eclipselink в Java-коде от MATLAB

javax.persistence.PersistenceException: No Perisistence provider for EntityManager named DatabaseConnection 

Обычно это исключение происходит, когда у меня нет в папке META-INF с persistence.xml на пути к классам, но я попытался помещать базовую папку, содержащую папку META-INF, как на динамические, так и на статические MATLAB javaclasspath, без успеха. Опять же, этот точный код (включая persistence.xml) отлично работает при запуске из java. Кто-нибудь знает, что мне не хватает?

Главное отличие, которое я смог отследить от того, что происходит при запуске java-кода, заключается в том, что MATLAB использует загрузчик классов OSGI (felix), а не загрузчик по умолчанию, который использует Java, но я не понял какая разница, которая делает для поиска persistence.xml.

+1

Вероятный дубликат http://stackoverflow.com/questions/4376565/java-jpa-class-for-matlab. Каковы шансы двух вопросов Matlab/JPA/Eclipse/classpath в течение 24 часов? Вы работаете с Рейли? (Сводка: добавьте eclipselink и JAR пользователей в статический класс классов). – 2010-12-08 18:54:17

ответ

Смежные вопросы