🚀 Como Rodar Localmente - ecosif-moviments
📋 Visão Geral
Este guia explica como configurar e executar o serviço ecosif-moviments localmente para desenvolvimento.
✅ Pré-requisitos
Software Necessário
- Java 17+ (Download)
- Maven 3.9+ (Download)
- PostgreSQL 15+ (Download)
- Git (opcional, para clonar repositório)
Verificar Instalações
# Verificar Java
java -version
# Deve mostrar: openjdk version "17" ou superior
# Verificar Maven
mvn -version
# Deve mostrar: Apache Maven 3.9.x ou superior
# Verificar PostgreSQL
psql --version
# Deve mostrar: psql (PostgreSQL) 15.x ou superior
📥 Clonar e Preparar Projeto
1. Clonar Repositório
git clone <repo-url>
cd ecosif-moviments
2. Instalar Dependência Local
# Copiar JAR da biblioteca ecosif-database
cp ../ecosif-database/target/ecosif-database-*.jar libs/
# Ou se não tiver o JAR compilado:
cd ../ecosif-database
mvn clean install -DskipTests
cd ../ecosif-moviments
🗄️ Configurar Banco de Dados
1. Criar Banco
# Conectar ao PostgreSQL
psql -U postgres
# Criar banco
CREATE DATABASE ecosif_moviments;
# Sair
\q
2. Configurar Variáveis de Ambiente
Crie um arquivo .env na raiz do projeto:
# Database
POSTGRES_HOST=localhost
POSTGRES_PORT=5432
POSTGRES_DB=ecosif_moviments
POSTGRES_USER=postgres
POSTGRES_PASSWORD=senha123
# Server
ECOSIF_MOVIMENTS_PORT=8082
# Security
AUTH_TOKEN_SECRET=your-secret-key-min-32-characters-long
TOKEN_EXPIRATION=86400000
# CORS
ECOSIF_CORS=http://localhost:4200
# JPA/Hibernate
HIBERNATE_DDL_AUTO=update
ECOSIF_FLYWAY_ENABLED=true
# Logging
ECOSIF_LOGSHOW=true
LOG_FORMAT=default
ECOSIF_LOGMODE_ROOT=INFO
ECOSIF_LOGMODE_SPRING=INFO
ECOSIF_LOGMODE_HIBERNATE_SQL=INFO
Exportar variáveis:
# Linux/Mac
export $(cat .env | xargs)
# Ou manualmente
export POSTGRES_HOST=localhost
export POSTGRES_PORT=5432
# ... etc
🔨 Compilar e Executar
Opção 1: Maven Spring Boot Plugin (Recomendado)
# Compilar e executar
mvn spring-boot:run
# Ou compilar primeiro
mvn clean install -DskipTests
mvn spring-boot:run
Opção 2: Executar JAR
# Compilar
mvn clean package -DskipTests
# Executar
java -jar target/ecosif-moviments.jar
Opção 3: IDE (IntelliJ IDEA / Eclipse)
- Importar projeto como Maven
- Configurar variáveis de ambiente no Run Configuration
- Executar classe
Application.java
✅ Verificar Funcionamento
1. Health Check
curl http://localhost:8082/actuator/health
Resposta esperada:
{
"status": "UP"
}
2. Swagger UI
Abra no navegador:
http://localhost:8082/swagger-ui.html
3. API Info
curl http://localhost:8082/actuator/info
🧪 Executar Testes
# Todos os testes
mvn test
# Teste específico
mvn test -Dtest=BatchServiceTest
# Testes com cobertura
mvn clean test jacoco:report
🐛 Troubleshooting
Erro: "Cannot connect to database"
Solução:
# Verificar se PostgreSQL está rodando
sudo systemctl status postgresql # Linux
brew services list | grep postgresql # Mac
# Verificar conectividade
psql -h localhost -U postgres -d ecosif_moviments
Erro: "JAR not found: ecosif-database"
Solução:
# Instalar biblioteca
cd ../ecosif-database
mvn clean install -DskipTests
cd ../ecosif-moviments
Erro: "Port already in use"
Solução:
# Verificar processo na porta 8082
lsof -i :8082 # Linux/Mac
netstat -ano | findstr :8082 # Windows
# Matar processo ou mudar porta
export ECOSIF_MOVIMENTS_PORT=8083
📝 Notas de Desenvolvimento
- Hot Reload: Spring Boot DevTools habilita hot reload automaticamente
- Logs: SQL aparece no console se
ECOSIF_LOGSHOW=true - Database:
HIBERNATE_DDL_AUTO=updatecria/atualiza schema automaticamente - Flyway: Migrações executam automaticamente na inicialização
Última Atualização: 2025-11-27