Construire un jar exécutable
Maven produit un fat jar contenant l'appli + le serveur Tomcat. On le lance avec java -jar.
mvn clean package # → target/fioul-api-1.0.0.jar
java -jar target/fioul-api-1.0.0.jar
Configurer par l'environnement
On ne recompile pas entre dev et prod : on injecte la configuration par variables d'environnement (12-factor). Le secret MongoDB Atlas passe ainsi, jamais dans le jar.
export MONGODB_URI="mongodb+srv://user:***@cluster.mongodb.net/fioul" export SPRING_PROFILES_ACTIVE=prod java -jar fioul-api.jar
Conteneuriser avec Docker
Un Dockerfile multi-stage compile puis n'emporte que le jar dans une image légère.
# build FROM maven:3-eclipse-temurin-21 AS build COPY . . RUN mvn -B clean package -DskipTests # run FROM eclipse-temurin:21-jre COPY --from=build /target/fioul-api-*.jar app.jar ENTRYPOINT ["java","-jar","/app.jar"]
Où déployer ?
Le conteneur peut tourner sur une VM, une plateforme cloud (Railway, Render, Azure, AWS…), ou un serveur de l'établissement. La base, elle, est sur Atlas.
Écris le Dockerfile, construis l'image, lance le conteneur en lui passant MONGODB_URI vers Atlas. L'API est alors joignable depuis Internet — prête pour l'appli Flutter. Détails dans le chapitre 15.
mvn package→ fat jar exécutable (java -jar).- Config par variables d'environnement (secrets hors du build).
- Docker multi-stage pour une image légère ; base sur Atlas.