現在、Java Spring BootでCRUD機能を持った練習用アプリを作ろうとしています。Spring Data JDBC Templateを使用する内容で、最初に新規にSpringプロジェクトを作成する際にNew Spring Starter Project Dependenciesで
・H2 Database
・JDBC API
・Spring Boot DevTools
・Spring Web Starter
・Thymeleaf
にチェックを入れました。Dependencyの管理はMavenではなくGradleで行っています。
ソースコードを一通り書き、プログラムを実行してみようと思ったのですが、実行時に下記のようなエラーが出ました。(他にもエラーは出ていましたが、下記のエラーが上から順に見て一番最初のものでした)
2020-03-27 23:25:03.091 INFO 18988 --- [ restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. 2020-03-27 23:25:03.148 ERROR 18988 --- [ restartedMain] o.s.b.web.embedded.tomcat.TomcatStarter : Error starting Tomcat context. Exception: org.springframework.beans.factory.BeanCreationException. Message: Error creating bean with name 'h2Console' defined in class path resource [org/springframework/boot/autoconfigure/h2/H2ConsoleAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.boot.web.servlet.ServletRegistrationBean]: Factory method 'h2Console' threw exception; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Hikari.class]: Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.boot.autoconfigure.jdbc.DataSourceInitializerInvoker': Invocation of init method failed; nested exception is org.springframework.jdbc.datasource.init.ScriptStatementFailedException: Failed to execute SQL script statement #1 of URL [file:/C:/Users/marra/Documents/workspace-spring-tool-suite-4-4.5.1.RELEASE/ScpReport/bin/main/data.sql]: INSERT INTO 'report' VALUES; nested exception is org.h2.jdbc.JdbcSQLSyntaxErrorException: Syntax error in SQL statement "INSERT INTO 'report'[*] VALUES"; expected "identifier"; SQL statement: INSERT INTO 'report' VALUES [42001-200]
最初はSQLのファイルのSyntaxに問題があるのかと思い、コードに実際におかしな所があったので修正したのですが、それでも同じエラーが出たのでSQLのコードではなくDependencyの問題なのかと思いました。
しかし自分にはDependency関連のエラー対処はほとんど経験がなく、どのフォルダのどのファイルのどの記述が余分なのか、あるいは欠けているのか、あるいは間違った形になっているのかをどうやって調べるのかがよくわかりません。
Dependencyの設定に問題があると仮定して、このような場合ではどのフォルダのどのファイルからチェックすればよいでしょうか?
また、何をチェックすればよいでしょうか?下記の例のような感じでしょうか?
例:
・〇〇というファイルに本来あるべき××という記述が欠けている
・△△と◆◆という2つの記述が同時に存在しているためConflictを起こしている→◆◆の方を消去すべし
Javaのバージョン:11
PC:Windows10
回答1件
あなたの回答
tips
プレビュー