Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
13
respostas

ERRO: APPLICATION FAILED TO START

Olá pessoal.

Estou com o seguinte problema, o spring não consegue iniciar devido a este erro

# Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled.
# 2023-05-09T15:24:08.844-03:00 ERROR 24996 --- [  restartedMain] o.s.b.d.LoggingFailureAnalysisReporter   : 
# 
# ***************************
# APPLICATION FAILED TO START
# ***************************
# 
# Description:
# 
# Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.
# 
# Reason: Failed to determine a suitable driver class
# 
# 
# Action:
# 
# Consider the following:
#     If you want an embedded database (H2, HSQL or Derby), please put it on the classpath.
#     If you have database settings to be loaded from a particular profile you may need to activate it (no profiles are currently active).
# 

Ao tentar configurar o MySQL como o instrutor ensinou, também tive o mesmo problema, porem eu retirei do pom as dependencias do spring jpa, e tinha dado certo. Consegui configurar o mySQL na minha máquina e adicionei nas variáveis de ambiente.

Agora tive que adiciona-las para conseguir usar as notações JPA. E o erro voltou a existir. Alguém me ajuda por favor?

Meu pom está assim:


<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.0.6</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>med.voll</groupId>
    <artifactId>api</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>api</name>
    <description>API Rest da aplicação Voll.med</description>
    <properties>
        <java.version>17</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
            <version>3.0.6</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-validation</artifactId>
        </dependency>
        <dependency>
            <groupId>org.flywaydb</groupId>
            <artifactId>flyway-core</artifactId>
        </dependency>
        <dependency>
            <groupId>org.flywaydb</groupId>
            <artifactId>flyway-mysql</artifactId>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.32</version>
            <scope>runtime</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <excludes>
                        <exclude>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                        </exclude>
                    </excludes>
                </configuration>
            </plugin>
        </plugins>
    </build>

</project>
13 respostas

Oi Caroline, tudo bem ?

Pelo que você postou, acho que talvez a configuração de acesso ao seu banco esteja errada, tu consegue ver se colocou certinho as configurações no arquivo de properties ?

Olá Matheus

Obrigada por responder! Acredito que estão corretos. Segue

spring.datasource.url=jdbc:mysql://localhost/vollmed_api
spring.datasource.username=meuusuario
spring.datasource.password=minhasenha
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

Acho que faltou passar a porta do banco, geralmente é 3306, testa e fala pra gente :)

Matheus, onde coloco essa porta? e como coloco?

spring.datasource.url=jdbc:mysql://localhost:3306/vollmed_api

Infelizmente não funcionou =/

Qual erro que deu ?


Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled.
2023-05-11T14:28:39.269-03:00 ERROR 28452 --- [  restartedMain] o.s.b.d.LoggingFailureAnalysisReporter   : 

***************************
APPLICATION FAILED TO START
***************************

Description:

Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.

Reason: Failed to determine a suitable driver class


Action:

Consider the following:
    If you want an embedded database (H2, HSQL or Derby), please put it on the classpath.
    If you have database settings to be loaded from a particular profile you may need to activate it (no profiles are currently active).

Mostra pra gente seu pom e seu application.properties

POM

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.0.6</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>med.voll</groupId>
    <artifactId>api</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>api</name>
    <description>API Rest da aplicação Voll.med</description>
    <properties>
        <java.version>17</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
            <version>3.0.6</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-validation</artifactId>
        </dependency>
        <dependency>
            <groupId>org.flywaydb</groupId>
            <artifactId>flyway-core</artifactId>
        </dependency>
        <dependency>
            <groupId>org.flywaydb</groupId>
            <artifactId>flyway-mysql</artifactId>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.32</version>
            <scope>runtime</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <excludes>
                        <exclude>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                        </exclude>
                    </excludes>
                </configuration>
            </plugin>
        </plugins>
    </build>

</project>

APPLICATION.PROPETIES


spring.datasource.url=jdbc:mysql://localhost:3306/vollmed_api
spring.datasource.username=meuusuario 
spring.datasource.password=minhasenha
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

LOG


2023-05-11T14:28:33.507-03:00  INFO 28452 --- [  restartedMain] med.voll.api.ApiApplication              : Starting ApiApplication using Java 17.0.7 with PID 28452 (C:\Users\carol\OneDrive\Área de Trabalho\area de trablho\Carol\Cursos Dev\Alura\Spring boot 3\api\target\classes started by carol in C:\Users\carol\OneDrive\Área de Trabalho\area de trablho\Carol\Cursos Dev\Alura\Spring boot 3\api)
2023-05-11T14:28:33.530-03:00  INFO 28452 --- [  restartedMain] med.voll.api.ApiApplication              : No active profile set, falling back to 1 default profile: "default"
2023-05-11T14:28:33.674-03:00  INFO 28452 --- [  restartedMain] .e.DevToolsPropertyDefaultsPostProcessor : Devtools property defaults active! Set 'spring.devtools.add-properties' to 'false' to disable
2023-05-11T14:28:33.674-03:00  INFO 28452 --- [  restartedMain] .e.DevToolsPropertyDefaultsPostProcessor : For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG'
2023-05-11T14:28:36.592-03:00  INFO 28452 --- [  restartedMain] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode.
2023-05-11T14:28:36.776-03:00  INFO 28452 --- [  restartedMain] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 162 ms. Found 1 JPA repository interfaces.
2023-05-11T14:28:38.638-03:00  INFO 28452 --- [  restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8080 (http)
2023-05-11T14:28:38.663-03:00  INFO 28452 --- [  restartedMain] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2023-05-11T14:28:38.664-03:00  INFO 28452 --- [  restartedMain] o.apache.catalina.core.StandardEngine    : Starting Servlet engine: [Apache Tomcat/10.1.8]
2023-05-11T14:28:38.891-03:00  INFO 28452 --- [  restartedMain] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2023-05-11T14:28:38.895-03:00  INFO 28452 --- [  restartedMain] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 5217 ms
2023-05-11T14:28:39.071-03:00  WARN 28452 --- [  restartedMain] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'flyway' defined in class path resource [org/springframework/boot/autoconfigure/flyway/FlywayAutoConfiguration$FlywayConfiguration.class]: Failed to instantiate [org.flywaydb.core.Flyway]: Factory method 'flyway' threw exception with message: Error creating bean with name 'dataSource' defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Hikari.class]: Failed to instantiate [com.zaxxer.hikari.HikariDataSource]: Factory method 'dataSource' threw exception with message: Failed to determine a suitable driver class
2023-05-11T14:28:39.076-03:00  INFO 28452 --- [  restartedMain] o.apache.catalina.core.StandardService   : Stopping service [Tomcat]
2023-05-11T14:28:39.168-03:00  INFO 28452 --- [  restartedMain] .s.b.a.l.ConditionEvaluationReportLogger : 

Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled.
2023-05-11T14:28:39.269-03:00 ERROR 28452 --- [  restartedMain] o.s.b.d.LoggingFailureAnalysisReporter   : 

***************************
APPLICATION FAILED TO START
***************************

Description:

Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.

Reason: Failed to determine a suitable driver class


Action:

Consider the following:
    If you want an embedded database (H2, HSQL or Derby), please put it on the classpath.
    If you have database settings to be loaded from a particular profile you may need to activate it (no profiles are currently active).


Process finished with exit code 0

Comparei com o do instrutor e vi que de diferente o seu leva versões, imagino que isso possa causar conflito, tenta remover essas linhas do pom.

Além disso, comparando o seu com o do instrutor, ele não precisou passar o driver e isso também manteve funcionando, vamos testar também pra ver se pode ser algo disso ?

solução!

Então Matheus acabei colocando esses itens a mais por conta de erros anteriores. Mas vou tentar remove-los e ver se funciona.