Hibernate 5 java.lang.NoSuchMethodError: org.hibernate.engine.spi.SessionFactoryImplementor.getProperties()Ljava/util/Map;

У меня есть устаревшее приложение, которое я переношу на java 11. После переноса и внесения соответствующих изменений, если я запускаю свое приложение eclipse, оно работает нормально и дает желаемый результат. Проблема возникает, когда я создаю банку и развертываю ее в тестовой среде. Когда я выполняю процесс, он выдает фатальную ошибку с приведенной ниже трассировкой при получении компонента. Я искал и пробовал все, что было предложено (очистить сборку и развертывание, удаление конфликтующих зависимостей), но я все равно получаю эту ошибку при запуске там, где развернута банка. Путаница в том, что он работает в eclipse, что затрудняет отладку ошибки.

Я использую спящий режим 5.4.24 и Spring 5.3.1.

Любая помощь в решении этой проблемы будет высоко оценена.

CAUSE               java.lang.RuntimeException: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'LIQBeanFactory' defined in URL [jar:file:/E:/QNBLIQ75/Client/sdk-post/qnb_liq_sdk_outbound.jar!/beanRefFactory.xml]: Bean instantiation via constructor failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.context.support.ClassPathXmlApplicationContext]: Constructor threw exception; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'LIQSessionFactory' defined in class path resource [applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: org.hibernate.engine.spi.SessionFactoryImplementor.getProperties()Ljava/util/Map;

Caused by: java.lang.NoSuchMethodError: org.hibernate.engine.spi.SessionFactoryImplementor.getProperties()Ljava/util/Map;
at org.hibernate.engine.query.spi.QueryPlanCache.<init>(QueryPlanCache.java:92)
at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:261)
at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:469)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:708)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:724)
at org.springframework.orm.hibernate5.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:616)
at org.springframework.orm.hibernate5.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:600)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1847)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1784)
... 231 more

Отредактировано: я включил его в проект maven, и когда я запускаю сейчас, я получаю точную ошибку в отладчике eclipse. Ниже приведены мои зависимости от POM.xml, не могли бы вы предложить, есть ли какие-либо конфликты:

 <dependencies>
    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-collections4</artifactId>
      <version>4.4</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-core</artifactId>
      <version>2.14.0</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>com.oracle.database.jdbc</groupId>
      <artifactId>ojdbc10</artifactId>
      <version>19.8.0.0</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>javax.jws</groupId>
      <artifactId>javax.jws-api</artifactId>
      <version>1.1</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.cxf</groupId>
      <artifactId>cxf-bundle</artifactId>
      <version>3.0.0-milestone2</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-core</artifactId>
      <version>5.3.1</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>5.3.1</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-orm</artifactId>
      <version>5.3.1</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-beans</artifactId>
      <version>5.3.1</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-test</artifactId>
      <version>5.3.1</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.hibernate</groupId>
      <artifactId>hibernate-core</artifactId>
      <version>5.4.24.Final</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.hibernate.common</groupId>
      <artifactId>hibernate-commons-annotations</artifactId>
      <version>5.1.2.Final</version>
      <scope>compile</scope>
    </dependency>
</dependencies>

person Sourav Roy    schedule 17.12.2020    source источник
comment
Отвечает ли это на ваш вопрос? java.lang.NoSuchMethodError: org.hibernate.engine.spi.SessionFactoryImplementor. getProperties()Ljava/util/Properties   -  person SternK    schedule 17.12.2020
comment
Вероятно, несовместимая версия где-то в вашем пути к классам.   -  person M. Deinum    schedule 17.12.2020
comment
@SternK Спасибо - я дам ссылку. Но я сталкиваюсь с этой проблемой во время выполнения, когда jar развернут, он отлично работает, когда я запускаю свой код в eclipse. Я также проверил наличие несовместимых версий в пути к классам, но не смог их обнаружить.   -  person Sourav Roy    schedule 17.12.2020
comment
Вы обновили версию Hibernate с версии 4.x? Если да, проверьте, есть ли у вас какие-либо импорты, относящиеся к org.springframework.orm.hibernate4, и измените их на org.springframework.orm.hibernate5 Пожалуйста, дайте мне знать, решит ли это вашу проблему :)   -  person Kaj Hejer    schedule 17.12.2020
comment
@kal Hejer - я обновил спящий режим до 5.x, и нет импорта, связанного с более низкой версией, за исключением ссылки в файлах .hbm, ссылающейся на сопоставление dtd как hibernate.sourceforge.net/hibernate-mapping-3.0.dtd, что, я уверен, не вызывает этой проблемы. И для фабрики сеансов я вызываю класс - org.springframework.orm.hibernate5.LocalSessionFactoryBean   -  person Sourav Roy    schedule 17.12.2020
comment
предполагая, что вы используете maven, используйте mvn dependency:tree, чтобы перечислить все зависимости и найти виновника.   -  person M. Deinum    schedule 17.12.2020
comment
@ M.Deinum, к сожалению, проект не на maven, это устаревшее приложение, и его необходимо перенести на платформу, совместимую с java 11. Есть ли способ в таких случаях определить конфликтующие банки зависимостей.   -  person Sourav Roy    schedule 17.12.2020
comment
О чем ты? Как вы добавляете библиотеки? Получите список всех библиотек и опубликуйте их здесь.   -  person M. Deinum    schedule 17.12.2020
comment
@M.Deinum M.Deinum Я преобразовал свой проект в maven. Зависимости добавлены выше. Пожалуйста, не могли бы вы предложить это?   -  person Sourav Roy    schedule 17.12.2020
comment
Как вы запускаете это приложение?   -  person M. Deinum    schedule 18.12.2020
comment
@ M.Deinum использует конфигурацию отладки в качестве интерфейса приложения. Транзакция в основном приложении запускает этот код, и ошибка возникает при выполнении этого нового ClassPathXmlApplicationContext(classpath*:beanRefFactory.xml);   -  person Sourav Roy    schedule 21.12.2020
comment
Вы даже не должны создавать новый контекст приложения... Также вы развертываете тестовую среду, что это за среда/сервер?   -  person M. Deinum    schedule 21.12.2020
comment
Серверы Windows @M.Deinum, Tomcat 9   -  person Sourav Roy    schedule 21.12.2020
comment
@M.Deinum, код был написан весной 3, и я пытаюсь перенести его на весну 5. ClassPathXmlApplicationContext(classpath*:beanRefFactory.xml); является частью старой кодовой базы. Вы предлагаете изменить способ получения bean-компонентов из контекста приложения?   -  person Sourav Roy    schedule 21.12.2020