2016-04-18 3 views
0

Я использую версию grails 3.1.4 и пытаюсь подключить мое приложение к базе данных mysql. я следовал по ссылке в How to connect Grails 3.0 to my local Mysql database для подключения базы данных MySQL к моему Grails 3 приложения, но я получаю следующее сообщение об ошибке:Не удается подключить mysql к приложению Grails 3

ERROR org.springframework.boot.SpringApplication - Application startup failed 
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'persistenceInterceptor': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire method: public void org.grails.orm.hibernate4.support.AggregatePersistenceContextInterceptor.setHibernateDatastores(org.grails.orm.hibernate.AbstractHibernateDatastore[]); nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [org.grails.orm.hibernate.AbstractHibernateDatastore] found for dependency [array of org.grails.orm.hibernate.AbstractHibernateDatastore]: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {} 
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:334) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1214) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:543) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) 
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) 
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:772) 
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:839) 
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:538) 
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:118) 
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:766) 
    at org.springframework.boot.SpringApplication.createAndRefreshContext(SpringApplication.java:361) 
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) 
    at grails.boot.GrailsApp.run(GrailsApp.groovy:55) 
    at grails.boot.GrailsApp.run(GrailsApp.groovy:365) 
    at grails.boot.GrailsApp.run(GrailsApp.groovy:354) 
    at grails.boot.GrailsApp$run.call(Unknown Source) 
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48) 
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113) 
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:133) 
    at helloworld.Application.main(Application.groovy:8) 
Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire method: public void org.grails.orm.hibernate4.support.AggregatePersistenceContextInterceptor.setHibernateDatastores(org.grails.orm.hibernate.AbstractHibernateDatastore[]); nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [org.grails.orm.hibernate.AbstractHibernateDatastore] found for dependency [array of org.grails.orm.hibernate.AbstractHibernateDatastore]: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {} 
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredMethodElement.inject(AutowiredAnnotationBeanPostProcessor.java:661) 
    at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:88) 
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:331) 
    ... 22 common frames omitted 
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [org.grails.orm.hibernate.AbstractHibernateDatastore] found for dependency [array of org.grails.orm.hibernate.AbstractHibernateDatastore]: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {} 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoSuchBeanDefinitionException(DefaultListableBeanFactory.java:1373) 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1044) 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1014) 
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredMethodElement.inject(AutowiredAnnotationBeanPostProcessor.java:618) 
    ... 24 common frames omitted 
Java HotSpot(TM) Client VM warning: TieredCompilation is disabled in this release. 

FAILURE: Build failed with an exception. 

* What went wrong: 
Execution failed for task ':bootRun'. 
> Process 'command 'C:\Program Files (x86)\Java\jdk1.8.0_65\bin\java.exe'' finished with non-zero exit value 1 

* Try: 
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. 
Error | 
Failed to start server (Use --stacktrace to see the full trace) 
Java HotSpot(TM) Client VM warning: TieredCompilation is disabled in this release. 

Process finished with exit code 1 

Вот мой application.yml

dataSource: 
     pooled: true 
     jmxExport: true 
     driverClassName: com.mysql.jdbc.Driver 
     dialect: org.hibernate.dialect.MySQL5InnoDBDialect 
     username: root 
     password: root123 


environments: 
    development: 
     dataSource: 
     dbCreate: update 
     url : jdbc:mysql://localhost:3306/collegedb?useUnicode=yes&characterEncoding=UTF-8&autoReconnect=true 

Я также добавил runtime 'mysql:mysql-connector-java:5.1.36' к build.gradle файл.

Я создал базу данных с именем collegedb в mysql. Не могу понять, в чем проблема. Любая помощь/предложения приветствуются. Приветствия.

+0

Пробовал натыкаясь до 3.1.5, чтобы увидеть, если ошибка фиксируется там? – christopher

+0

@ christopher: Хорошо. Благодарю. Любые другие предложения? –

+1

И пресловутый 'grails clean'. –

ответ

2

Вы misstyped конфигурации в application.yml:

environments: 
    development: 
     dataSource: 
     dbCreate: update 
     url : jdbc:mysql://localhost:3306/collegedb?useUnicode=yes&characterEncoding=UTF-8&autoReconnect=true 

Оно должно быть:

environments: 
    development: 
     dataSource: 
      dbCreate: update 
      url : jdbc:mysql://localhost:3306/collegedb?useUnicode=yes&characterEncoding=UTF-8&autoReconnect=true 
+0

Weglarz: Где ошибка ввода? –

+1

@Nikhil: файлы YAML чувствительны к отступу - у вас есть отступы, отсутствующие для вашего dbCreate и url. Отступ означает, что данный пакет является подпакетом для предыдущего. –

+0

Weglarz: Работали как шарм. Приветствия !!. Возможно, вы можете написать то же самое в разделе ответа (отредактировать) свой пост, и я буду отмечать ваш ответ как можно скорее. Благодарю. –

Смежные вопросы