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

ERRO AO RODAR O JAR

Já tenho o mysql instalado e rodando como serviço do windows.

Executei o comando abaixo, para informar qual a senha do mysql: java -Dspring.datasource-password=admin -jar cdcreact-1.0.0-SNAPSHOT.jar

Recebo o seguinte erro:

java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:53) at java.lang.Thread.run(Unknown Source) Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaAutoConfiguration.class]: Invocation of init method failed; nested exception is org.hibernate.HibernateException: Access to DialectResolutionInfo cannot be null when 'hibernate.dialect' not set at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1578) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:545) 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.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1054) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:829) 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:764) at org.springframework.boot.SpringApplication.doRun(SpringApplication.java:357) at org.springframework.boot.SpringApplication.run(SpringApplication.java:305) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1124) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1113) at br.com.caelum.cdcreact.Boot.main(Boot.java:10) ... 6 more Caused by: org.hibernate.HibernateException: Access to DialectResolutionInfo cannot be null when 'hibernate.dialect' not set at org.hibernate.engine.jdbc.dialect.internal.DialectFactoryImpl.determineDialect(DialectFactoryImpl.java:104) at org.hibernate.engine.jdbc.dialect.internal.DialectFactoryImpl.buildDialect(DialectFactoryImpl.java:71) at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:205) at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:111) at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:234) at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:206) at org.hibernate.cfg.Configuration.buildTypeRegistrations(Configuration.java:1887) at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1845) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:857) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:850) at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.withTccl(ClassLoaderServiceImpl.java:425) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:849) at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:60) at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:343) at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:318) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1637) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1574) ... 22 more

Alguém consegue me ajudar?

6 respostas

Opa, tudo bem? Esse erro, em geral, tem a ver com um problema de conexao com o banco. Verifica se a senha tá correta ou até se o banco está rodando? :)

Então, a senha está correta sim. Quanto ao banco ele está rodando, ele fica como serviço do windows e inicia automaticamente.

Eu consegui conectar com esta senha pelo workbench.

Percebi que tinha algo a ver com a conexão e achei nas respostas do fórum essa forma de rodar (java -Dspring.datasource-password=admin -jar cdcreact-1.0.0-SNAPSHOT.jar).

Acho que vale a pena colocar uma observação no vídeo do curso, quando você roda pela primeira vez o projeto. Informando que o programa espera para o usuário root a senha xxxxxxxxxxx, caso seu usuário root tenha outra senha execute o programa da seguinte maneira xxxxxxxxxxxxxxxxxxx.

Só essa informação já vai ajudar algumas pessoas.

Quanto ao meu erro, alguma outra dica?

Opa, vou adicionar na explicação sim, achei que já estava lá a observação para a senha diferente. Em relação ao seu erro, o problema realmente eh a conexão com o banco. A porta tá a padrão?

A porta do meu banco, é a padrão mesmo.

Para executar o programa informando uma senha, diferente de senha em branco, comando é este mesmo que está abaixo?

java -Dspring.datasource-password=SENHA -jar cdcreact-1.0.0-SNAPSHOT.jar

Porque aqui eu alterei a senha do banco para em branco e o backend passou a funcionar.

Alterei e coloquei outra senha e voltou a não funcionar.

Parece que o comando abaixo, não altera a senha padrão do app;

java -Dspring.datasource-password=SENHA -jar cdcreact-1.0.0-SNAPSHOT.jar

solução!

Opa, não tinha visto que vc tinha colocado hífen em vez de ponto. A linha é essa aqui =>

java -Dspring.datasource.password=suaSenha -jar jar-cdc-react.jar.

Fui conferir e na explicação está até falando disso :), achei que tinha colocado mesmo => https://cursos.alura.com.br/course/react/task/19739

Lá na seção "Download e execução da aplicação servidora"

É verdade, nem eu tinha reparado. Peguei a linha em aluma resposta do fórum do curso e só troquei a senha. Agora funcionou certinho, mesmo com senha!

Vlw.