Solucionado (ver solução)
Solucionado
(ver solução)
19
respostas

[Dúvida] Erro ao Executar o JAR no Prompt

Pessoal ao executar o JAR no prompt, dá esse Erro, porem no meu banco de Dados eu tenho a tabela Usuario. Só que ao Rodar o Script ele da o erro. Estou usando o IntelliJ.

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSourceScriptDatabaseInitializer' defined in class path resource [org/springframework/boot/autoconfigure/sql/init/DataSourceInitializationConfiguration.class]: Invocation of init method failed; nested exception is org.springframework.jdbc.datasource.init.ScriptStatementFailedException: Failed to execute SQL script statement #1 of URL [jar:file:/C:/Users/testr/Desktop/CursosTiago/forum/target/forum-0.0.1-SNAPSHOT.jar!/BOOT-INF/classes!/data.sql]: INSERT INTO USUARIO(nome, email, senha) VALUES('Aluno', 'aluno@email.com', '$2a$10$sFKmbxbG4ryhwPNx/l3pgOJSt.fW1z6YcUnuE2X8APA/Z3NI/oSpq'); nested exception is org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "USUARIO" not found (this database is empty); SQL statement: INSERT INTO USUARIO(nome, email, senha) VALUES('Aluno', 'aluno@email.com', '$2a$10$sFKmbxbG4ryhwPNx/l3pgOJSt.fW1z6YcUnuE2X8APA/Z3NI/oSpq') [42104-214] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1804) ~[spring-beans-5.3.23.jar!/:5.3.23]... Caused by: org.springframework.jdbc.datasource.init.ScriptStatementFailedException: Failed to execute SQL script statement #1 of URL [jar:file:/C:/Users/testr/Desktop/CursosTiago/forum/target/forum-0.0.1-SNAPSHOT.jar!/BOOT-INF/classes!/data.sql]: INSERT INTO USUARIO(nome, email, senha) VALUES('Aluno', 'aluno@email.com', '$2a$10$sFKmbxbG4ryhwPNx/l3pgOJSt.fW1z6YcUnuE2X8APA/Z3NI/oSpq'); nested exception is org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "USUARIO" not found (this database is empty); SQL statement: INSERT INTO USUARIO(nome, email, senha) VALUES('Aluno', 'aluno@email.com', '$2a$10$sFKmbxbG4ryhwPNx/l3pgOJSt.fW1z6YcUnuE2X8APA/Z3NI/oSpq') [42104-214] at org.springframework.jdbc.datasource.init.ScriptUtils.executeSqlScript(ScriptUtils.java:282) ~[spring-jdbc-5.3.23.jar!/:5.3.23] at org.springframework.jdbc.datasource.init.ResourceDatabasePopulator.populate(ResourceDatabasePopulator.java:254) ~[spring-jdbc-5.3.23.jar!/:5.3.23]... Caused by: org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "USUARIO" not found (this database is empty); SQL statement: INSERT INTO USUARIO(nome, email, senha) VALUES('Aluno', 'aluno@email.com', '$2a$10$sFKmbxbG4ryhwPNx/l3pgOJSt.fW1z6YcUnuE2X8APA/Z3NI/oSpq') [42104-214] ...

19 respostas

2022-10-10 11:34:20.803 INFO 16404 --- [ main] br.com.alura.forum.ForumApplication : Starting ForumApplication v0.0.1-SNAPSHOT using Java 18.0.2.1 on LAPTOP-NT88FQDM with PID 16404 (C:\Users\testr\Desktop\CursosTiago\forum\target\forum-0.0.1-SNAPSHOT.jar started by testr in C:\Users\testr\Desktop\CursosTiago\forum\target) 2022-10-10 11:34:20.808 INFO 16404 --- [ main] br.com.alura.forum.ForumApplication : No active profile set, falling back to 1 default profile: "default" 2022-10-10 11:34:22.245 INFO 16404 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2022-10-10 11:34:22.314 INFO 16404 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 57 ms. Found 3 JPA repository interfaces. 2022-10-10 11:34:23.242 INFO 16404 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http) 2022-10-10 11:34:23.256 INFO 16404 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat] 2022-10-10 11:34:23.256 INFO 16404 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.65] 2022-10-10 11:34:23.379 INFO 16404 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext 2022-10-10 11:34:23.379 INFO 16404 --- [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 2490 ms 2022-10-10 11:34:23.718 INFO 16404 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... 2022-10-10 11:34:23.994 INFO 16404 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. 2022-10-10 11:34:24.022 WARN 16404 --- [ main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSourceScriptDatabaseInitializer' defined in class path resource [org/springframework/boot/autoconfigure/sql/init/DataSourceInitializationConfiguration.class]: Invocation of init method failed; nested exception is org.springframework.jdbc.datasource.init.ScriptStatementFailedException: Failed to execute SQL script statement #1 of URL [jar:file:/C:/Users/testr/Desktop/CursosTiago/forum/target/forum-0.0.1-SNAPSHOT.jar!/BOOT-INF/classes!/data.sql]: INSERT INTO USUARIO(nome, email, senha) VALUES('Aluno', 'aluno@email.com', '$2a$10$sFKmbxbG4ryhwPNx/l3pgOJSt.fW1z6YcUnuE2X8APA/Z3NI/oSpq'); nested exception is org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "USUARIO" not found (this database is empty); SQL statement: INSERT INTO USUARIO(nome, email, senha) VALUES('Aluno', 'aluno@email.com', '$2a$10$sFKmbxbG4ryhwPNx/l3pgOJSt.fW1z6YcUnuE2X8APA/Z3NI/oSpq') [42104-214] 2022-10-10 11:34:24.023 INFO 16404 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... 2022-10-10 11:34:24.027 INFO 16404 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed. 2022-10-10 11:34:24.031 INFO 16404 --- [ main] o.apache.catalina.core.StandardService : Stopping service [Tomcat] 2022-10-10 11:34:24.051 INFO 16404 --- [ main] ConditionEvaluationReportLoggingListener :

Se eu retiro do data.sql a o Insert do Usuario o mesmo erro acontece para as outras tabelas. Contudo, no meu banco de dados já existe essas tabelas. Elas não estão vazias.

Arquivo data.sql

Oi Tiago,

Como você rodou o projeto no prompt? Posta aqui o comando.

Erro  Insert Oi Professor, eu só estava executando o mvn clean package. Contudo a principio resolveu naquela Aula. Porém ao avançar o curso, na parte de Docker quando eu executo o comando que você ensina docker run -p 8080:8080 -e SPRING_PROFILES_ACTIVE='prod' -e FORUM_DATABASE_URL='jdbc:mysql://localhost:3306/forum' -e FORUM_DATABASE_USERNAME='root' -e FORUM_DATABASE_PASSWORD='senha' -e FORUM_JWT_SECRET='123456' alura/forum aparece o seguinte erro da imagem:

DB Eu tenho já criado no Banco de Dados a tabela

Ok. Posta aqui os seus arquivos application.properties e application-prod.properties.

Meu properties esta como dev e o prod como prod

Insira aqui a descrição dessa imagem para ajudar na acessibilidade Eu acabei nomeando o Dev no properties normal, esta com a configuracao como se fosse a padrao e o prod com as configuracoes de prod

Se o professor estiver no Discord da alura, eu posso transmitir por lá a minha tela se for ajudar melhor.

Pelo log no prompt ele está tentando se conectar no h2 ao invés do MySQL.

Passa os valores dos parâmetros sem aspas simples ao rodar no prompt: docker run -p 8080:8080 -e SPRING_PROFILES_ACTIVE=prod -e FORUM_DATABASE_URL=jdbc:mysql://localhost:3306/forum -e FORUM_DATABASE_USERNAME=root -e FORUM_DATABASE_PASSWORD=senha -e FORUM_JWT_SECRET=123456 alura/forum

Realizei isto professor e tomei varios erros segue as imagens Erro1

Erro2

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Blz, agora deu certo.

Mas ta dando erro justamente pq você está utilizando o MySQL, mas no container da aplicação não tem o MySQL instalado.

Você teria que criar outro container para o MySQL e usar o Docker Compose para facilitar.

Entendi professor. Infelizmente ainda não sei utilizar o Docker Compose e também como criar o container para o MySQL. Me recomendaria qual curso aqui da alura para eu poder entender melhor esta parte? Eu baixei o docker normal segue o registro que ele me da dos containers quando executo comandos no arquivo do forum: Insira aqui a descrição dessa imagem para ajudar na acessibilidade

solução!

Tem esse curso que aborda tanto o Docker quanto o compose: https://cursos.alura.com.br/course/docker-criando-gerenciando-containers

Blz, muito obrigado Professor, por sua ajuda! Agradeço a atenção!