Как получить Spring JPA, Hibernate и OSGi для приятной игры?

Я пытаюсь получить файл WAR для запуска внутри контейнера Karaf OSGi. Приложение работает правильно в автономном Jetty 6.1.26, но когда приложение запускается внутри Karaf, я получаю следующее исключение, и экземпляр Karaf зависает:

WARN  org.hibernate.ejb.packaging.InputStreamZippedJarVisitor - Unable to find 
file (ignored): bundle://125.0:240/ java.lang.NullPointerException: in is null

Обратите внимание, что приложение не полагается на Hibernate в отдельной OSGi связка; он включает jar-файлы гибернации в WEB-INF / lib.

Я изучил информацию в этом посте: Equinox (OSGi) и JPA / Hibernate - Поиск объектов . Однако, приложение использует JPA, а не напрямую Hibernate. Конфигурация приложения очень похожа на 2-й вариант, найденный в этом посте: Разница между настройкой источника данных в persistence.xml и в файлах конфигурации Spring . Таким образом, у меня нет дескриптора Hibernate SessionFactory, который позволяет мне установить свойство annotatedClasses.

Есть идеи, как обойти исключение?

8
задан Community 23 May 2017 в 12:11
поделиться