У меня есть исключение при развертывании моего приложения grails 3.3.8 в weblogic. Я думаю, что эта проблема может быть связана с hibernate 5 (приложение использует старый пакет hibernate на weblogic или любые конфликты)
Исключениежурнал weblogic:
*2018-10-11 10:04:23.321 ERROR --- [ (self-tuning)'] o.s.boot.SpringApplication : Application startup failed
org.springframework.beans.factory.UnsatisfiedDependencyException:
Error creating bean with name 'methodValidationPostProcessor' defined in class path resource [org/springframework/boot/autoconfigure/validation/ValidationAutoConfiguration.class]:
Unsatisfied dependency expressed through method 'methodValidationPostProcessor' parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException:
Error creating bean with name 'hibernateDatastoreServiceRegistry': Cannot resolve reference to bean 'hibernateDatastore' while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException:
Error creating bean with name 'hibernateDatastore':
Bean instantiation via constructor failed; nested exception is org.springframework.beans.BeanInstantiationException:
Failed to instantiate [org.grails.orm.hibernate.HibernateDatastore]:
Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: javax/validation/ClockProvider*
...
Caused by: org.springframework.beans.factory.BeanCreationException:
Error creating bean with name 'hibernateDatastoreServiceRegistry': Cannot resolve reference to bean 'hibernateDatastore' while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException:
Error creating bean with name 'hibernateDatastore': Bean instantiation via constructor failed; nested exception is org.springframework.beans.BeanInstantiationException:
Failed to instantiate [org.grails.orm.hibernate.HibernateDatastore]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: javax/validation/ClockProvider
Мой weblogic.xml содержит:
<wls:container-descriptor>
<wls:prefer-web-inf-classes>false</wls:prefer-web-inf-classes>
<wls:prefer-application-packages>
<wls:package-name>org.slf4j.*</wls:package-name>
<wls:package-name>org.jboss.*</wls:package-name>
<wls:package-name>javassist.*</wls:package-name>
<wls:package-name>org.springframework.*</wls:package-name>
<wls:package-name>org.hibernate.*</wls:package-name>
<wls:package-name>org.hibernate.validator.*</wls:package-name>
<wls:package-name>org.grails.orm.hibernate.proxy.*</wls:package-name>
</wls:prefer-application-packages>
</wls:container-descriptor>
Приложение имеет несколько источников данных, часть application.yml:
dataSources:
dataSource:
dbCreate: update
url: jdbc:oracle:thin:@myfirsthost.ru:1527:sun
dialect: org.hibernate.dialect.Oracle10gDialect
driverClassName: oracle.jdbc.OracleDriver
username: firstusername
password: firstpassword
test:
url: jdbc:oracle:thin:@mysecondhost.ru:1527:sun
driverClassName: oracle.jdbc.OracleDriver
dialect: org.hibernate.dialect.Oracle10gDialect
username: secondusername
password: secondpassword
Первая база данных источника данных, созданная приложением grails (и имеющая классы домена), вторая тестовая база данных является внешней только для чтения на сервере БД ORACLE (и не имеет классов домена))
Приложение работает на локальном ПК и сервере Apache Tomcat Http, но я не могу развернуть его на weblogic
У кого-нибудь есть мысли, как решить эту проблему?
Спасибо