12
respostas

Erro ao executar o Projeto cdcreact-1.0.0-SNAPSHOT.jar

Já instalei o Mysql na máquina, configurei a variavel Path, conforme instruções aparentemente está tudo ok, porem quando executo o .jar do projeto com comando : java -jar cdcreact-1.0.0-SNAPSHOT.jar

Apresenta o erro abaixo e não levanta a aplicação , alguém pode me ajudar :

C:\PROJETOS_JAVASCRIPT>java -jar cdcreact-1.0.0-SNAPSHOT.jar

citly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification. 2019-05-15 11:50:56.163 ERROR 11468 --- [ main] o.a.tomcat.jdbc.pool.ConnectionPool : Unable to create initial connections of pool.

java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: NO) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:957) ~[mysql-connector-java-5.1.38.jar!/:5.1.38]


:4.2.4.RELEASE] at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:343) [spring-orm-4.2.4.RELEASE.jar!/:4.2.4.RELEASE] at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:318) [spring-orm-4.2.4.RELEASE.jar!/:4.2.4.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1637) [spring-beans-4.2.4.RELEASE.jar!/:4.2.4.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1574) [spring-beans-4.2.4.RELEASE.jar!/:4.2.4.RELEASE]


2019-05-15 11:50:56.178 INFO 11468 --- [ main] o.apache.catalina.core.StandardService : Stopping service Tomcat 2019-05-15 11:50:56.178 ERROR 11468 --- [ main] o.s.boot.SpringApplication : Application startup failed

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) ~[spring-beans-4.2.4.RELEASE.jar!/:4.2.4.RELEASE]


file:/C:/PROJETOS_JAVASCRIPT/cdcreact-1.0.0-SNAPSHOT.jar!/lib/jstl-impl-1.2.jar!/] 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

12 respostas

Claudino, boa tarde!

Primeiro precisamos verificar duas coisas:

  • Versão do MySQL;
  • Versão do Java

Para verificar a versão do MySQL:

mysql -u root;

O retorno vai ser parecido com isso:

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 29
(VERSÃO 5.7.25)------> Server version: 5.7.25-0ubuntu0.18.04.2 (Ubuntu)

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

Para verificar a versão do Java

java -version

O retorno vai ser parecido com isso

(VERSÃO 1.8.0)------> openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.18.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)

Depois de verificar se ambos estão nas versões corretas você irá precisar ver como qual é o plugin usado no seu user root, usando o código:

sudo mysql -u root

mysql> USE mysql;
mysql> SELECT User, Host, plugin FROM mysql.user;

O retorno vai ser assim:

+------------------+-----------------------+
| User             | plugin                |
+------------------+-----------------------+
| root             | auth_socket           |
| mysql.sys        | mysql_native_password |
| debian-sys-maint | mysql_native_password |
+------------------+-----------------------+

Caso na linha do root esteja escrito: auth_socket também, rodar os códigos abaixo:

sudo mysql -u root 

mysql> USE mysql;
mysql> UPDATE user SET plugin='mysql_native_password' WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> exit;

$ service mysql restart

Depois disso só entrar na pasta do arquivo .jar e rodar o código:

java -jar nomeDoArquivo.jar

Qualquer dúvida ou diferença só falar

Espero ter ajudado e bons estudos!

Felipe,

1 - As versões que tenho são essas, pergunto, podem ser estas versões? ou tem que ser as versões que vc citou acima? C:>java -version java version "1.8.0_161" Java(TM) SE Runtime Environment (build 1.8.0_161-b12)

Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)

OBSERVAÇÃO QUANDO EU DOU O COMANDO : mysql -u root ele apresenta a mensagem de erro abaixo :

C:\Windows\system32>mysql -u root ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)


MAS SE EU COLOCAR O SE EU EXECUTAR DA FORMA ABAIXO ELE ACEITA :

C:>mysql -u root -p Enter password: *** Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 6 Server version: 5.7.26-log MySQL Community Server (GPL)

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>


2 - Quando fui executar os comandos que vc solicitou no Mysql ele não listou nada conforme abaixo:

C:\Windows\system32>mysql -u root -p Enter password: *** Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 3 Server version: 5.7.26-log MySQL Community Server (GPL)

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> mysql -u root mysql> USE mysql Database changed mysql> SELECT User, Host, plugin FROM mysql.user -> list -> dir ->

Felipe, também estou com problemas ao rodar o jar, a aplicação dos autores não sobe.

Vendo essa sua dica a única coisa que eu não fiz foi essa parte abaixo. Existe sudo no Windows?

"Caso na linha do root esteja escrito: auth_socket também, rodar os códigos abaixo", até mesmo porque no curso não pede para fazer isso em momento algum.

sudo mysql -u root

mysql> USE mysql;
mysql> SELECT User, Host, plugin FROM mysql.user;

Meu caro instrutor vc não me ajudou na minha dúvida, continuo com o mesmo erro na hora de executar o comando abaixo :

java -jar cdcreact-1.0.0-SNAPSHOT.jar


2019-05-21 11:36:46.262 INFO 1096 --- [ main] o.hibernate.annotations.common.Version : HCANN000001: Hibernate Commons Annotations {4.0.5.Final} Tue May 21 11:36:46 BRT 2019 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification. 2019-05-21 11:36:46.539 ERROR 1096 --- [ main] o.a.tomcat.jdbc.pool.ConnectionPool : Unable to create initial connections of pool.

java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: NO) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:957) ~[mysql-connector-java-5.1.38.jar!/:5.1.38]

Claudino, boa tarde!

O seu usuário root está com uma senha, e não dá para saber qual é, para alterar nos colocamos a senha nativa do mysql, que é vazio assim vc vai conseguir rodar o jar

No seu caso é necessário rodar os comandos abaixo no terminal:

sudo mysql -u root 

mysql> USE mysql;
mysql> UPDATE user SET plugin='mysql_native_password' WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> exit;

$ service mysql restart

Após isso deverá funcionar normalmente, desculpa pela demora, ficarei aguardando o seu retorno!

Afrânio, boa tarde!

No Windows não tem o sudo você pode rodar os comando normalmente sem colocar o sudo e irá funcionar

Espero ter ajudado e bons estudos!

Felipe

Rodei isso abaixo:

mysql -u root
mysql> USE mysql;
mysql> SELECT User, Host, plugin FROM mysql.user;

Retorno:

+---------------+-----------+-----------------------+
| User          | Host      | plugin                |
+---------------+-----------+-----------------------+
| root          | localhost | mysql_native_password |
| mysql.session | localhost | mysql_native_password |
| mysql.sys     | localhost | mysql_native_password |
+---------------+-----------+-----------------------+

No meu caso na linha do root não há: auth_socket. O que fazer agora? Estou usando senha no mysql.

Felipe

  • Quando execute a primeira linha de comando que vc solicitou apresenta o erro abaixo: C:\Windows\system32>mysql -u root ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

  • Tive que entrar com o parametro -p conforme abaixo, entrei com a minha senha "dino386" dai entrou no mysql : C:\Windows\system32>mysql -u root -p Enter password: *** Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 12 Server version: 5.7.26-log MySQL Community Server (GPL)

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

  • Próximo comando funcionou : mysql> USE mysql; Database changed mysql>

Próximo comando também funcionou :

mysql> UPDATE user SET plugin='mysql_native_password' WHERE User='root'; Query OK, 0 rows affected (0.00 sec) Rows matched: 1 Changed: 0 Warnings: 0

mysql>

  • Próximo comando deu a mensagem abaixo : mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.00 sec)

mysql>

  • Próximo comando saiu normalmente: mysql> exit Bye C:\Windows\system32>

  • Quando entrei com o comando abaixo ele não encontrou o comando : C:\Windows\System32>service mysql restart 'service' não é reconhecido como um comando interno ou externo, um programa operável ou um arquivo em lotes.

C:\Windows\System32>


  • Tentei executar o .jar do aplicativo mas continua dando o erro abaixo :

. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification. 2019-05-22 09:29:30.409 ERROR 8184 --- [ main] o.a.tomcat.jdbc.pool.ConnectionPool : Unable to create initial connections of pool.

java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: NO)

Oi F2065829, tudo bem? Pelo que vi, toda vez que você tenta executar o jar, a mensagem "Access denied for user 'root'@'localhost' (using password: NO)" aparece já no finalzinho do erro.

Tenho pra mim que ao executar o .jar, você não esteja informando a senha do seu usuário do MySQL. O .jar vai tentar acessar o seu MySQL com o usuário root, sem usar senha. E você comentou anteriormente que seu MySQL tem senha e a senha é "dino386" sendo assim, você precisa informar essa senha para o .jar conseguir conversar com o MySQL.

Para informar a senha, na aula 3 do curso, lá no finalzinho do exercício que configura o MySQL, tem o comando que você precisa executar para que o .jar considere a sua senha:

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

Também estou enfrentando o mesmo problema:

... 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)...

  • MySql 5.7.21 (algum problema com essa versão?)
  • Java: java version "1.8.0_91"

(Pq mesmo não é um BD embarcado, como o H2?)

Wanderson,

Executei o .jar com a linha de comando abaixo mesmo assim continua apresentando o mesmo erro :

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

2019-05-24 09:49:37.981 ERROR 1884 --- [ main] o.a.tomcat.jdbc.pool.ConnectionPool : Unable to create initial connections of pool.

java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: NO) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:957) ~[mysql-connector-java-5.1.38.jar!/:5.1.38] at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3878) ~[mysql-connector-java-5.1.38.jar!/:5.1.38]

Felipe,

Conforme mensagem anterior minha ainda vc ainda não resolveu o erro que está ocorrendo, ou seja eu ainda não consegui levantar a aplicação, por favor me ajude.