Мне дан проект, и я должен запустить его на своем локальном компьютере.
На самом деле в нем много проектов, которые компилируются в файлы JAR, и основной проект, который компилируется в ear, включая эти файлы JAR.
Приложение запускается на сервере WebSphere, и хотя оно запускается, я в конечном итоге получаю сообщение об ошибке в диспетчере сущностей.В журналах ничего не отображается, но после отладки, при вызове метода из класса из определенного jar, я получаю следующее исключение:
javax.el.ELException: javax.ejb.EJBException:Ссылка com.xxx.xxx.managers.xxxManager / entityManager типа javax.persistence.EntityManager для компонента XXXManager в модуле xxx-Manager.jar приложения XXXPortal_ear не может быть разрешена.
После проверкидалее я увидел, что IntelliJ помечает мой файл persistence.xml с некоторыми ошибками:
<!-- Hibernate -->
<!-- <property name="hibernate.transaction.manager_lookup_class" value="org.hibernate.transaction.WebSphereExtendedJTATransactionLookup"/> -->
<property name="hibernate.transaction.jta.platform" value="org.hibernate.service.jta.platform.internal.WebSphereJtaPlatform" />
<property name="hibernate.default_schema" value="XXX_TRANSACTIONS"/>
<property name="hibernate.dialect" value="org.hibernate.dialect.DB2Dialect"/>
<property name="hibernate.connection.driver_class" value="com.ibm.db2.jcc.DB2XADataSource"/>
<property name="hibernate.show_sql" value="false"/>
<property name="hibernate.max_fetch_depth" value="3"/>
<property name="hibernate.default_batch_fetch_size" value="100"/>
<property name="hibernate.temp.use_jdbc_metadata_defaults" value="false"/>
<!-- OpenJPA -->
<property name="openjpa.jdbc.Schema" value="XXX_TRANSACTIONS"/>
<property name="openjpa.ConnectionDriverName" value="com.ibm.db2.jcc.DB2XADataSource"/>
<property name="openjpa.ConnectionFactoryProperties" value="PrintParameters=True, PrettyPrint=true" />
<property name="openjpa.Log" value="DefaultLevel=DEBUG, Runtime=TRACE, Tool=INFO, Query=TRACE, JDBC=ERROR, SQL=ERROR" />
Значения XXX_TRANSACTIONS свойства hibernate.default_schema помечаются красным и отображаются при наведении:
Невозможноразрешить схему 'XXX_TRANSACTIONS'
Кроме того, в свойстве hibernate.connection.driver_class часть значения "com.ibm.db2.jcc.DB2XADataSource" помечена красным (только db2.jcc.DB2XADataSource).красный).
Отображение при наведении:
Не удается разрешить класс 'DB2XADataSource'
Я попытался импортировать db2jcc.jar, но затем я получаю
com.ibm.db2.jcc.DB2XADataSource 'не назначается на' java.sql.Driver '
в свойстве класса драйвера.
Возможно, что я что-то напутал в конфигурации WebSphere.
Я могу предоставить дополнительную информацию, если это необходимо.
Пожалуйста, помогите.Заранее спасибо.
РЕДАКТИРОВАТЬ:
Это строки из persistence.xml
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/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">
<persistence-unit name="XxxModel">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<jta-data-source>XxxDatasource</jta-data-source>
<mapping-file>META-INF/orm.xml</mapping-file>
<class>...
Я также публикую общие свойстваJDBC-провайдер WebSphere:
@ Энди Гиберт: к сожалению, я не могу обновить версию Hibernate, это может вызвать проблемы при повторном развертывании у клиента, поэтому яне может выполнить серьезные изменения.
Я должен упомянуть, что приложение работает на другом компьютере.Он открывается в Rational Application Developer Studio (версия Eclipse для IBM).Я пытаюсь настроить на своем локальном компьютере IntelliJ IDEA Ultimate Edition.Одно отличие, которое я заметил, заключается в том, что созданный в моей среде jar не содержит файл persistence.xml и другие файлы ресурсов этого конкретного модуля.Я использовал плагин maven resources, чтобы включить его в мой jar:
<resources>
<resource>
<directory>src/main/java/META-INF</directory>
</resource>
</resources>
Несмотря на это, проблема сохраняется, и при отладке я все еще получаю исключение, которое я написал в исходном сообщении.