実現したいこと
STSでSpring Bootプロジェクトを起動させたい
Spring Bootの勉強しようとSTSのspringスタータープロジェクトを使いプロジェクトを作ったのですが、プロジェクトを作る際にSpring Data JPAを選択するとtomcatが起動はするもののすぐにエラーが出て停止してしまいます。
依存関係に以下のものを選択しています。
Spring Web、Spring Data JPA、Spring Boot DevTools、Thymeleaf、MySQL Driver
発生している問題・エラーメッセージ
2020-05-13 20:23:01.568 INFO 24820 --- [ restartedMain] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext 2020-05-13 20:23:01.568 INFO 24820 --- [ restartedMain] o.s.web.context.ContextLoader : Root WebApplicationContext: initialization completed in 885 ms 2020-05-13 20:23:01.677 INFO 24820 --- [ restartedMain] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] 2020-05-13 20:23:01.705 INFO 24820 --- [ restartedMain] org.hibernate.Version : HHH000412: Hibernate ORM core version 5.4.15.Final 2020-05-13 20:23:01.770 INFO 24820 --- [ restartedMain] o.hibernate.annotations.common.Version : HCANN000001: Hibernate Commons Annotations {5.1.0.Final} 2020-05-13 20:23:01.824 INFO 24820 --- [ restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... 2020-05-13 20:23:03.043 ERROR 24820 --- [ restartedMain] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Exception during pool initialization. java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: NO) at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129) ~[mysql-connector-java-8.0.20.jar:8.0.20] org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.exception.GenericJDBCException: Unable to open JDBC Connection for DDL execution org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcEnvironmentInitiator.java:180) ~[hibernate-core-5.4.15.Final.jar:5.4.15.Final] at org.hibernate.resource.transaction.backend.jdbc.internal.DdlTransactionIsolatorNonJtaImpl.getIsolatedConnection(DdlTransactionIsolatorNonJtaImpl.java:43) ~[hibernate-core-5.4.15.Final.jar:5.4.15.Final] ... 40 common frames omitted
application.properties
1spring.datasource.url=jdbc:mysql://localhost/sampledb?characterEncoding=UTF-8&serverTimezone=JST 2spring.datasource.username=root 3spring.datasource.password= 4spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver 5spring.jpa.database=MYSQL 6spring.jpa.hibernate.ddl-auto=update
build.gradle
1plugins { 2 id 'org.springframework.boot' version '2.2.7.RELEASE' 3 id 'io.spring.dependency-management' version '1.0.9.RELEASE' 4 id 'java' 5} 6 7group = 'com.training' 8version = '0.0.1-SNAPSHOT' 9sourceCompatibility = '11' 10 11configurations { 12 developmentOnly 13 runtimeClasspath { 14 extendsFrom developmentOnly 15 } 16} 17 18repositories { 19 mavenCentral() 20} 21 22dependencies { 23 implementation 'org.springframework.boot:spring-boot-starter-data-jpa' 24 implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' 25 implementation 'org.springframework.boot:spring-boot-starter-web' 26 developmentOnly 'org.springframework.boot:spring-boot-devtools' 27 runtimeOnly 'mysql:mysql-connector-java' 28 testImplementation('org.springframework.boot:spring-boot-starter-test') { 29 exclude group: 'org.junit.vintage', module: 'junit-vintage-engine' 30 } 31} 32 33test { 34 useJUnitPlatform() 35} 36
コンソールの出力されるメッセージが長すぎて投稿できないため省略しました。
試したこと
SQLErrorと出ているためapplication.propertiesが悪いのかと思いましたが、悪いところが見つからず、別で新規にJPAではなくJBDCを選択したら問題なく起動できていました。
JBDCで起動できてJPAでできないということは依存関係が何かおかしいのかと思ったのですが、調べてもよくわからないでいます。
上記エラーを解消し起動させるためには何処を修正したらいいか教えていただきたいです。
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー