Ошибка запуска приложения JPA EclipseLink на сервере IBM Websphere Libery Server

Я пытался запустить приложение JPA, которое использует EclipseLink 2.5.1 в качестве поставщика JPA на сервере IBM Websphere Liberty Server.

Я столкнулся со следующим исключением:

[ERROR   ] CWWJP0015E: An error occurred in the org.eclipse.persistence.jpa.PersistenceProvider persistence provider when it attempted to create the container entity manager factory for the XXXXX persistence unit. The following error occurred: Exception [EclipseLink-28018] (Eclipse Persistence Services - 2.5.1.v20130918-f2b9fc5): org.eclipse.persistence.exceptions.EntityManagerSetupException
Exception Description: Predeployment of PersistenceUnit [XXXXXX] failed.
Internal Exception: Exception [EclipseLink-28006] (Eclipse Persistence Services - 2.5.1.v20130918-f2b9fc5): org.eclipse.persistence.exceptions.EntityManagerSetupException
Exception Description: ClassNotFound: [WebSphere_Liberty] specified in [eclipselink.target-server] property.
Internal Exception: java.lang.ClassNotFoundException: WebSphere_Liberty

Поскольку мое приложение содержит собственные JAR-файлы JPA EclipseLink JARS, я включил только <feature>jpaContainer-2.1</feature>

Вот мой POM.xml:

<dependency>
  <groupId>org.eclipse.persistence</groupId>
  <artifactId>eclipselink</artifactId>
</dependency>
<dependency>
  <groupId>org.eclipse.persistence</groupId>
  <artifactId>org.eclipse.persistence.jpa.modelgen.processor</artifactId>      
</dependency>

Пожалуйста, помогите мне, если кто-нибудь когда-либо сталкивался с этим сценарием.


person Kishor Prakash    schedule 22.01.2018    source источник


Ответы (1)


Я просто нахожусь в процессе настройки этого сам, похоже, вам тоже нужно определить звонок (для меня я пытаюсь спящий режим, возможно, просто заменить на eclipselink):

в файле server.xml

<feature>jpaContainer-2.1</feature>
<feature>bells-1.0</feature>
.
.
.
<bell libraryRef="hibernate" />
<!-- Include all of the hibernate jars in a shared lib -->
<library id="hibernate">
   <fileset dir="${server.config.dir}/hibernate/" includes="*.jar" />
</library>

Итак, вам действительно нужно собрать эти банки в правильную папку, а затем указать колокольчиком каталог libs.

person Frischling    schedule 22.01.2018
comment
Кроме того, документацию IBM о том, как использовать функцию jpaContainer-2.1, можно найти здесь: ibm.com/support/knowledgecenter/en/SS7K4U_liberty/ - person Andy Guibert; 22.01.2018
comment
Я запускаю веб-приложение Maven, поэтому мой Maven уже включает банки в WEB-INF/lib/. Должен ли я по-прежнему использовать функцию <bell>?? - person Kishor Prakash; 23.01.2018
comment
Я бы просто сделал это, как описано в документации (см. комментарий @AndyGuibert); хотя обычно я соглашаюсь. НО как запустить сервер? Это через mvn Liberty: Run-Server? Тогда путь приложения может быть совершенно другим, и классы, вероятно, не будут взяты из файла war, который вы создаете с помощью mvn verify. - person Frischling; 23.01.2018