2
respostas

Variaveis de ambiente

O projeto base disponibilizado ja vem configurado com as applications de banco de dados o que prejudica ja que ate o momento do curso, não foi informado as variaveis de ambiente. Impossibilitando assim, que seja possivel inicializar a aplicação sem erro.

2 respostas

Olá Carlos.
Tudo bem?
Temos algumas opções para tentar resolver o seu problema:
Vamos aos passos:
Opção 1 :Desabilitar temporariamente o banco (mais simples)
Se nessa etapa do curso você ainda não vai usar banco de dados, o melhor é desabilitar a autoconfiguração do DataSource.
No arquivo:

src/main/resources/application.properties

adicione:

spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration

Depois rode normalmente:

mvn spring-boot:run

ou pela IDE.
Essa é a solução mais simples para continuar acompanhando o curso.
Opção 2 — Criar variáveis de ambiente fake
Se o projeto exige as variáveis, você pode definir valores temporários.
Normalmente o projeto usa algo assim:

spring.datasource.url=${DB_URL}
spring.datasource.username=${DB_USER}
spring.datasource.password=${DB_PASSWORD}

Então você precisa criar: DB_URL, DB_USER, DB_PASSWORD:
windows

$env:DB_URL="jdbc:mysql://localhost:3306/teste"
$env:DB_USER="root"
$env:DB_PASSWORD="123456"

Linux/macOS

export DB_URL=jdbc:mysql://localhost:3306/teste
export DB_USER=root
export DB_PASSWORD=123456

Depois execute o projeto na mesma janela do terminal.
Opção 3 — Colocar valores direto no application.properties
Você também pode substituir temporariamente as variáveis por valores fixos:

spring.datasource.url=jdbc:mysql://localhost:3306/teste
spring.datasource.username=root
spring.datasource.password=123456

Mas isso só funciona se você tiver um MySQL rodando.
Testa ai as opções,retorna um feedback.
Se quiser que ensine a configurar um banco e as variaveis comenta ai.
Bons estudos.

Mas como eu sou teimoso vou lhe passar como configurar um banco caso ainda não tenha feito.
Vamos aos passos:
Primeiro instale o MySQL.
Se ainda não tiver, baixe o MySQL Community Server no site oficial da Oracle:
MySQL Community Server
Durante a instalação, defina uma senha para o usuário root. Guarde essa senha porque você vai usar no Spring Boot.
Depois de instalar, abra o terminal do MySQL.
No Windows você pode abrir o “MySQL Command Line Client”.
No macOS/Linux use:

mysql -u root -p

Digite sua senha.
Agora crie o banco:

CREATE DATABASE api_java;

Confira se ele foi criado:

SHOW DATABASES;

Depois saia:

exit

Agora abra o projeto Java e vá até:

src/main/resources/application.properties

Adicione:

spring.datasource.url=jdbc:mysql://localhost:3306/api_java
spring.datasource.username=root
spring.datasource.password=SUA_SENHA

spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

Troque SUA_SENHA pela senha que você criou no MySQL.
Agora confira se o pom.xml possui a dependência do MySQL. Dentro de <dependencies> deve existir algo parecido com:

<dependency>
    <groupId>com.mysql</groupId>
    <artifactId>mysql-connector-j</artifactId>
    <scope>runtime</scope>
</dependency>

Se não existir, adicione.
Depois atualize o Maven.
Na IntelliJ:

  • clique com botão direito no projeto
  • Maven
  • Reload Project

Ou no terminal:

mvn clean install

Agora rode o projeto:

mvn spring-boot:run

Se tudo estiver correto, o Spring Boot vai iniciar sem erro e conectar ao banco automaticamente.
Quando aparecer algo parecido com:

Started Application

significa que a API está funcionando.
Em caso de duvida comente ai.
Bons estudos.