Troubleshooting¶
Problemi ricorrenti e soluzioni note. Se non trovi il tuo caso, apri una issue.
Build¶
./mvnw not found o permission denied
Su Linux/macOS rendi eseguibile il wrapper:
Su Windows usamvnw.cmd. Source option 21 is no longer supported
Stai usando un JDK < 21. Controlla con java -version e installa JDK 21.
Test integration falliscono con Could not find a valid Docker environment
Testcontainers richiede Docker in esecuzione. Verifica docker info; su macOS/Windows avvia Docker Desktop.
Database / Flyway¶
Validate failed: Migrations have failed validation
Una migration esistente è stata modificata dopo essere stata applicata. Soluzione:
- In dev: cancella e ricrea il DB locale (
docker compose down -v && docker compose up -d postgres). - In prod: scrivi una nuova migration
V2__fix_xxx.sql. Non modificare mai una migration già applicata in produzione.
HHH000179: Unable to construct current date o problemi timezone
Configurato in application.yml:
Runtime¶
Whitelabel Error Page su tutti gli endpoint
Verifica che il controller sia nel package scansionato (dev.federicocalo.sbfs).
Errore application/problem+json non riconosciuto dal client
È RFC 7807, parte dello standard HTTP. La maggior parte dei client lo accetta come JSON. Se il tuo client non lo fa, parserizzalo come JSON normale — il body è valido JSON.
Docker¶
docker compose up --build lento al primo run
Normale: Maven scarica le dipendenze nello stage build. I run successivi usano la cache.
App non si collega al Postgres in compose
Verifica:
- Il servizio postgres deve essere
service_healthyprima dell'app (depends_onok). - L'URL nel compose è
jdbc:postgresql://postgres:5432/sbfs(hostname = nome servizio, NON localhost).
Documentazione¶
mkdocs serve non trova un plugin
Installa le dipendenze in un venv:
mkdocs build --strict fallisce per link rotti
Usa link relativi corretti (es. [step-02](step-02.md) se sei in steps/).
CI¶
Coverage gate fallisce nel build
JaCoCo enforce 70%. Aggiungi test al codice non coperto o abbassa temporaneamente in pom.xml (jacoco.minimum.coverage).
GitHub Pages non si aggiorna
Verifica:
Settings → Pages → Sourceimpostato su GitHub Actions.- Il workflow
docs.ymlè verde. - Cache CDN: forza refresh con
Ctrl+Shift+R.