Java Vanilla

Vollständige Bereitstellungsanleitung für Java Vanilla auf NStrim

Überblick

Java Vanilla ist ein einfaches Java-Projekt, das nur die Standardbibliothek und einen leichtgewichtigen HTTP-Server verwendet. Es bietet einen sauberen Ausgangspunkt zum Erstellen von Webanwendungen und REST-APIs ohne Framework-Overhead.

Bevor Sie beginnen
Stellen Sie sicher, dass Ihr Dashboard geöffnet ist - Sie benötigen die dort angezeigten Git-Anmeldedaten. Diese Vorlage enthält einen leichtgewichtigen HTTP-Server, JDBC für Datenbankzugriff und Gson für JSON-Verarbeitung.

Schnellstart

1

Repository aus Vorlage erstellen

Gehen Sie in Ihrem Dashboard zum Tab Tools & Deployment. Klicken Sie auf "New Repository", wählen Sie die Java Vanilla-Vorlage aus dem Dropdown, geben Sie einen Repository-Namen und eine Subdomain ein und klicken Sie auf "Create Repository".

2

Ihr Repository klonen

git clone https://<git-server>/<username>/<repo-name>.git
cd <repo-name>
3

Projekt erstellen

mvn clean package
4

Anwendung ausführen

java -jar target/app.jar

Der Server läuft standardmäßig auf http://localhost:8080.

5

Ihre Änderungen hochladen

git add .
git commit -m "Initial setup"
git push origin main
Jeder Push zu Git stellt Ihre Anwendung automatisch bereit. Überprüfen Sie Ihre Modul-Arbeits-URL im Dashboard, um Ihre Live-Site zu sehen.

Lokale Entwicklung mit Docker

Wenn Sie Java oder Maven nicht lokal installiert haben, können Sie Docker verwenden, um Ihr Projekt zu erstellen und auszuführen.

Was ist Docker?
Docker erstellt isolierte "Container" mit der gesamten Software, die Sie benötigen (Java, Maven), ohne diese auf Ihrem Computer zu installieren.

Befehle mit Docker ausführen

# Projekt erstellen
docker run --rm -v $(pwd):/app -w /app maven:3-eclipse-temurin-21 mvn clean package

# Anwendung ausführen
docker run --rm -v $(pwd):/app -w /app -p 8080:8080 eclipse-temurin:21 java -jar target/app.jar

Projektstruktur

├── src/
│   └── main/
│       └── java/
│           └── com/example/
│               ├── App.java              # Einstiegspunkt & HTTP-Server
│               ├── handlers/             # Request-Handler
│               └── models/               # Datenmodelle
├── pom.xml                               # Maven-Abhängigkeiten
└── Dockerfile                            # Docker-Konfiguration
        

Häufige Aufgaben

HTTP-Handler erstellen

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());
        }
    }
}

Datenbankverbindung mit 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();

Nützliche Befehle

mvn clean package Projekt erstellen
java -jar target/app.jar Anwendung ausführen
mvn dependency:tree Abhängigkeitsbaum anzeigen

Fehlerbehebung

java.sql.SQLException: Access denied

Lösung: Überprüfen Sie, ob Ihre JDBC-Verbindungs-URL, Ihr Benutzername und Ihr Passwort mit den Anmeldedaten aus Ihrem Dashboard übereinstimmen.

Port 8080 already in use

Lösung: Ändern Sie den Port in Ihrer App.java oder beenden Sie den anderen Prozess, der Port 8080 verwendet.

ClassNotFoundException for JDBC driver

Lösung: Stellen Sie sicher, dass der MySQL-JDBC-Treiber in Ihren pom.xml-Abhängigkeiten enthalten ist und führen Sie mvn clean package erneut aus.

Bereitstellungs-Workflow

Code-Änderung git push mvn package Live!
Weitere Informationen finden Sie in der offiziellen Java Dokumentation.