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

Erro ao iniciar a aplicação

Quando executo a aplicação acontece um erro enorme(não consigo postar nem metade dele aqui): java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowed at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:110) ~[mysql-connector-java-8.0.15.jar:8.0.15] at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97) ~[mysql-connector-java-8.0.15.jar:8.0.15] at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) ~[mysql-connector-java-8.0.15.jar:8.0.15]

Minha pom está assim

<groupId>br.com.alura</groupId>
<artifactId>listavip</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>forum</name>
<description>Demo project for Spring Boot</description>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-thymeleaf</artifactId>
    </dependency>

    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>

    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

5 respostas

Olá Luiz!

Vou te pedir duas coisas para poder avaliar o problema que está acontecendo:

1 - Tenta me enviar um trecho de texto do começo do erro e um trecho de texto do final do erro.

2 - Me envia o conteúdo do seu application.properties

Aguardo seu retorno.

application.properties

spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect

spring.jpa.hibernate.ddl-auto=update

spring.jpa.properties.hibernate.show_sql = true

spring.jpa.properties.hibernate.format_sql = true

spring.datasource.driverClassName=com.mysql.jdbc.Driver

spring.datasource.url= jdbc:mysql://localhost:3306/listavip?useSSL=false

spring.datasource.username==root

spring.datasource.password=root

Erro: https://gist.github.com/luizgallas/e2eaccda954f038d63e3455b561b53c6

Tenta adicionar um parametro na sua URL.

Mude isso:

spring.datasource.url= jdbc:mysql://localhost:3306/listavip?useSSL=false

Para isso:

spring.datasource.url= jdbc:mysql://localhost:3306/listavip?useSSL=false?allowPublicKeyRetrieval=true

Me fala se deu certo, aguardo seu retorno!

O erro continua o mesmo. Após baixar os arquivos do curso esse erro acontece abaixo do já mandado:

2019-09-03 17:54:19.997 INFO 8660 --- [ restartedMain] .b.l.ClasspathLoggingApplicationListener : Application failed to start with classpath: [file:/C:/Users/luiz.gallas/eclipse-workspace/Aula-4/target/classes/, file:/C:/Users/luiz.gallas/eclipse-workspace/Aula-4-enviadorEmail/target/classes/]

solução!

Opa Luiz, acho que entendi qual o problema.

No seu application.properties você está utilizando o dialeto da versão 5:

spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect

Já no seu pom.xml, como você não está indicando uma versão especifica ele irá baixar a última versão do MySql que, no caso, é a versão 8:

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
</dependency>

Para resolver isso você tem duas opções:

Manter a versão 8 ou manter a versão 5.

VERSÃO 8

Caso opte por manter a última versão basta somente alterar o dialeto no arquivo properties.

De:

spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect

Para:

spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL8Dialect

VERSÃO 5

Caso opte por manter a versão 5 será preciso alterar o pom.xml.

De:

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
</dependency>

Para:

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.38</version>
</dependency>

Espero que te ajude.

Aguardo seu retorno!