Boa noite, pessoal!
Tudo bem?
Não estou conseguindo executar a aplicação:
Boa noite, pessoal!
Tudo bem?
Não estou conseguindo executar a aplicação:
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:
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>
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.
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".
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.
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.
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:
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;
}