Websphere с развертыванием БД Oracle Ошибка NosuchMethod - PullRequest
0 голосов
/ 28 октября 2018

Я пытаюсь развернуть файл war на веб-сфере 8.5.5.13. который связан с оракулом (11g) дБ, и даже я создал соединение с источниками данных на веб-сфере. oracle db data source Приложение устанавливается, но при попытке запустить приложение выдает следующую ошибку:

[29/10/18 15: 00: 49: 733 IST] 000001e1 SystemErr R Причина: com.ibm.ws.webcontainer.exception.WebAppNotLoadedException: не удалось загрузить веб-приложение: ошибка создания бина с именем ' entityManagerFactory ', определенный в ресурсе пути к классу [org / springframework / boot / autoconfigure / orm / jpa / HibernateJpaAutoConfiguration.class]: сбой вызова метода init; Вложенным исключением является java.lang.NoSuchMethodError: javax / persistence / Table.indexes () [Ljavax / persistence / Index; (загружается из файла: / C: / Program Files (x86) /IBM/WebSphere/AppServer/plugins/javax.j2ee.persistence.jar от org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader@180c62e2), вызываемого из класса org. hibernate.cfg. /lib/hibernate-core-5.0.12.Final.jar от

[29/10/18 15: 00: 49: 733 IST] 000001e1 SystemErr R Причина: org.springframework.beans.factory.BeanCreationException: Ошибка создания компонента с именем entityManagerFactory, определенным в ресурсе пути к классу [org / springframework / boot / autoconfigure / orm / jpa / HibernateJpaAutoConfiguration.class]: сбой вызова метода init; Вложенным исключением является java.lang.NoSuchMethodError: javax / persistence / Table.indexes () [Ljavax / persistence / Index; (загружается из файла: / C: / Program Files (x86) /IBM/WebSphere/AppServer/plugins/javax.j2ee.persistence.jar от org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader@180c62e2), вызываемого из класса org. hibernate.cfg. /lib/hibernate-core-5.0.12.Final.jar от

Я также пытался изменить версию hibernate и jpa, но это тоже не сработало. Но когда я развертываю приложение без использования oracle db (используя h2 или derby), оно работает правильно.

Пожалуйста, помогите мне с этой ошибкой.

Не удалось найти путь i have given the context path properly but still giving error

1 Ответ

0 голосов
/ 29 октября 2018

NoSuchMethodError указывает, что Hibernate пытается вызвать метод на javax.persistence.Table, который не существует. Класс Table был загружен из file:/C:/Program Files (x86)/IBM/WebSphere/AppServer/plugins/javax.j2ee.persistence.jar, поэтому сам WAS предоставляет несовместимый класс.

По умолчанию WAS 8.5.5 использует JPA 2.0, но можно использовать JPA 2.1 , выполнив шаги, описанные здесь . Вы уже выполнили большинство шагов, описанных в разделе «Встраивание стороннего поставщика сохраняемости в приложение». Один оставшийся шаг - настроить порядок загрузки классов вашего приложения таким образом, чтобы он предпочитал классы, связанные с вашим приложением, классами, предоставляемыми сервером приложений.

...