Java Vanilla
Aperçu
Java Vanilla est un projet Java pur utilisant uniquement la bibliothèque standard et un serveur HTTP léger. Il offre un point de départ propre pour créer des applications web et des API REST sans surcoût de framework.
Démarrage rapide
Créer un dépôt à partir du modèle
Sur votre tableau de bord, allez dans l'onglet Tools & Deployment. Cliquez sur le bouton "New Repository", sélectionnez le modèle Java Vanilla dans le menu déroulant, saisissez un nom de dépôt et un sous-domaine, puis cliquez sur "Create Repository".
Cloner votre dépôt
git clone https://<git-server>/<username>/<repo-name>.git
cd <repo-name>
Construire le projet
mvn clean package
Exécuter l'application
java -jar target/app.jar
Le serveur s'exécute par défaut sur http://localhost:8080.
Pousser vos modifications
git add .
git commit -m "Initial setup"
git push origin main
Développement local avec Docker
Si vous n'avez pas Java ou Maven installé localement, vous pouvez utiliser Docker pour construire et exécuter votre projet.
Exécuter des commandes avec Docker
# Construire le projet
docker run --rm -v $(pwd):/app -w /app maven:3-eclipse-temurin-21 mvn clean package
# Exécuter l'application
docker run --rm -v $(pwd):/app -w /app -p 8080:8080 eclipse-temurin:21 java -jar target/app.jar
Structure du projet
├── src/
│ └── main/
│ └── java/
│ └── com/example/
│ ├── App.java # Point d'entrée et serveur HTTP
│ ├── handlers/ # Gestionnaires de requêtes
│ └── models/ # Modèles de données
├── pom.xml # Dépendances Maven
└── Dockerfile # Config Docker
Tâches courantes
Créer un gestionnaire HTTP
import com.sun.net.httpserver.HttpExchange;
import com.sun.net.httpserver.HttpHandler;
import java.io.IOException;
import java.io.OutputStream;
public class UsersHandler implements HttpHandler {
@Override
public void handle(HttpExchange exchange) throws IOException {
String response = "{\"message\": \"Hello from Java!\"}";
exchange.getResponseHeaders().set("Content-Type", "application/json");
exchange.sendResponseHeaders(200, response.length());
try (OutputStream os = exchange.getResponseBody()) {
os.write(response.getBytes());
}
}
}
Connexion à la base de données avec JDBC
import java.sql.*;
String url = "jdbc:mysql://db.<session-domain>:3306/<username>";
Connection conn = DriverManager.getConnection(url, "username", "password");
PreparedStatement stmt = conn.prepareStatement("SELECT * FROM users WHERE id = ?");
stmt.setInt(1, userId);
ResultSet rs = stmt.executeQuery();
Commandes utiles
mvn clean package
Construire le projet
java -jar target/app.jar
Exécuter l'application
mvn dependency:tree
Afficher l'arbre des dépendances
Dépannage
java.sql.SQLException: Access denied
Solution : Vérifiez que votre URL de connexion JDBC, votre nom d'utilisateur et votre mot de passe correspondent aux identifiants de votre tableau de bord.
Le port 8080 est déjà utilisé
Solution : Modifiez le port dans votre App.java ou arrêtez l'autre processus qui utilise le port 8080.
ClassNotFoundException pour le pilote JDBC
Solution : Assurez-vous que le pilote JDBC MySQL est inclus dans les dépendances de votre pom.xml et relancez mvn clean package.