В данный момент я пытаюсь создать приложение с функциями CRUD с помощью Java Spring Boot. Он включает Spring Data JDB C, и когда я начал новый проект, я выбрал
・ H2 Database
・ JDB C API
・ Spring Boot DevTools
・ Spring Web Starter
・ Thymeleaf
в окне «Зависимости проекта Spring Spring Starter».
Зависимости обрабатываются Gradle, а не Maven. Версия Java - 11, а ОС - Windows 10.
Я написал некоторый исходный код и попытался запустить программу, но получил следующее сообщение об ошибке.
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 есть синтаксическая ошибка, и я действительно нашел некоторые синтаксические ошибки и исправил их, но я все равно получил то же сообщение об ошибке. Поэтому я начал подозревать, что это как-то связано с проблемой зависимости.
Но у меня очень мало опыта и знаний по работе с ошибками, связанными с зависимостями, и мне сложно представить, как определить, какая папка, какие файлы, какие утверждения ненужны или отсутствуют, или определены неправильно ,
Когда я провел собственное исследование, я обнаружил несколько сообщений Stack Overflow, связанных с полученным сообщением об ошибке, но все они были проектами, использующими зависимости Maven, а не зависимости Gradle, которые я использую.
Предполагая, что это проблема зависимости, на какую часть я должен смотреть?
Если у вас уже есть хорошее «первое подозрение» или какое-то решение по предложению, будет очень полезно, если вы сообщите мне это в следующих примерах форматов.
[Example 1]: There should be a folder named 'XXX' that contains a file named 'YYY', and there should be a statement defined as 'ZZZ', but in your case the 'ZZZ' part is missing
[Example 2]: In the file 'AAA', there are statements 'BBB' and 'CCC' and these two are conflicting with each other. In this case 'CCC' is redundant and you should erase it.
Заранее спасибо.
[ОБНОВЛЕНИЕ]
Starting a Gradle Daemon (subsequent builds will be faster)
FAILURE: Build failed with an exception.
* What went wrong:
Task 'install' not found in root project 'ScpReport'.
* Try:
Run gradlew tasks to get a list of available tasks. Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 11s