Solucionado (ver solução)
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.