3
respostas

Não consigo executar a aplicação

Boa noite, pessoal!

Tudo bem?

Não estou conseguindo executar a aplicação:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

3 respostas

Segue o pom.xml:

4.0.0 org.springframework.boot spring-boot-starter-parent 2.6.7 br.com.alurafood pagamentos 0.0.1-SNAPSHOT pagamentos MS de pagamentos da AluraFood <java.version>17</java.version> org.springframework.boot spring-boot-starter-data-jpa org.springframework.boot spring-boot-starter-validation org.springframework.boot spring-boot-starter-web org.flywaydb flyway-core

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <scope>runtime</scope>
        <optional>true</optional>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <scope>runtime</scope>
    </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.modelmapper</groupId>
        <artifactId>modelmapper</artifactId>
        <version>2.3.8</version>
    </dependency>

    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>1.18.30</version>
        <optional>true</optional>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-netflix-eureka-client</artifactId>
        <version>3.1.2</version>
    </dependency>
    <dependency>
        <groupId>com.netflix.eureka</groupId>
        <artifactId>eureka-client</artifactId>
        <version>2.0.1</version>
    </dependency>


</dependencies>

Olá, Marcos.

Tudo bem?

Pelo que pude observar nas imagens que você compartilhou, parece que há um problema com a inicialização da aplicação relacionado ao Spring Cloud Netflix Eureka. A mensagem de erro java.lang.IllegalStateException: Error processing condition on org.springframework.cloud.netflix.eureka.config.DiscoveryClientOptionalArgsConfiguration sugere que há uma incompatibilidade ou problema com a configuração do Eureka.

Vamos tentar algumas coisas para resolver isso:

  1. Verifique as Dependências: Certifique-se de que você adicionou a dependência do Eureka Client corretamente no seu arquivo pom.xml ou build.gradle, conforme foi demonstrado na aula. A dependência deve ser semelhante a esta:

    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        <version>3.1.2</version>
    </dependency>
    
  2. Compatibilidade de Versões: Verifique se a versão do Spring Boot que você está utilizando é compatível com a versão do Spring Cloud. Às vezes, versões incompatíveis podem causar esse tipo de erro.

  3. Limpe e Reconstrua o Projeto: Tente limpar o cache do Maven (ou Gradle) e reconstruir o projeto. No IntelliJ, você pode fazer isso através das opções "Clean" e "Rebuild" no menu "Build".

  4. Atualize o Projeto: Se estiver usando Maven, tente atualizar o projeto com o comando mvn clean install no terminal ou usando a opção de atualização de projeto do IntelliJ.

  5. Verifique as Configurações do Eureka: Confirme se as configurações do Eureka no arquivo application.properties estão corretas e se o servidor Eureka está rodando na porta especificada.

  6. Logs de Erro: Analise os logs de erro com mais detalhes para verificar se há alguma pista adicional sobre o que pode estar causando o problema.

Caso essas etapas não resolvam o problema, seria útil ver o código completo da classe PagamentosApplication e verificar se há alguma configuração adicional ou anotação que possa estar causando o conflito.

Espero que essas sugestões ajudem a resolver o problema e que você consiga executar a aplicação com sucesso. Bons estudos!

Boa tarde, Renan.

Eu fiz as alterações no pom:

4.0.0 org.springframework.boot spring-boot-starter-parent 3.1.6 br.com.alurafood pagamentos 0.0.1-SNAPSHOT pagamentos MS de pagamentos da AluraFood <java.version>17</java.version> org.springframework.boot spring-boot-starter-data-jpa org.springframework.boot spring-boot-starter-validation org.springframework.boot spring-boot-starter-web org.flywaydb flyway-core

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <scope>runtime</scope>
        <optional>true</optional>
    </dependency>
    <dependency>
        <groupId>com.mysql</groupId>
        <artifactId>mysql-connector-j</artifactId>
        <scope>runtime</scope>
    </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.modelmapper</groupId>
        <artifactId>modelmapper</artifactId>
        <version>2.3.8</version>
    </dependency>

    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>1.18.30</version>
        <optional>true</optional>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-netflix-eureka-client</artifactId>
        <version>3.1.2</version>
    </dependency>

    <dependency>
        <groupId>javax.validation</groupId>
        <artifactId>validation-api</artifactId>
        <version>1.1.0.Final</version>
    </dependency>

    <dependency>
        <groupId>javax.persistence</groupId>
        <artifactId>javax.persistence-api</artifactId>
        <version>2.2</version>
    </dependency>

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

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-properties-migrator</artifactId>
        <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>

Agora não está reconhecendo o NotBlank e Positive do classe Pagamento:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Segue o código da classe Pagamento:

package br.com.alurafood.pagamentos.model;

import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter;

import javax.persistence.*;

import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import javax.validation.constraints.Positive; import javax.validation.constraints.Size; import java.math.BigDecimal;

@Entity @Table(name="pagamentos") @Getter @Setter @AllArgsConstructor @NoArgsConstructor public class Pagamento { //Atributos da tabela do banco de dados @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id;

@NotNull
@Positive
private BigDecimal valor;

@NotBlank
@Size(max = 100)
private String nome;

@NotBlank
@Size(max = 19)
private String numero;

@NotBlank
@Size(max = 7)
private String expiracao;

@NotBlank
@Size(min=3, max=3)
private String codigo;

@NotNull
@Enumerated(EnumType.STRING)
private Status status;

@NotNull
private Long pedidoId;

@NotNull
private Long formaDePagamentoId;

}