Java Vanilla
Översikt
Java Vanilla är ett rent Java-projekt som bara använder standardbiblioteket och en lättviktig HTTP-server. Det ger en ren utgångspunkt för att bygga webbapplikationer och REST-API:er utan extra ramverk.
Kom igång
Skapa repository från mall
Gå till fliken Tools & Deployment i din dashboard. Klicka på knappen "New Repository", välj Java Vanilla-mallen från rullgardinsmenyn, ange ett repository-namn och en subdomän och klicka sedan på "Create Repository".
Klona ditt repository
git clone https://<git-server>/<username>/<repo-name>.git
cd <repo-name>
Bygg projektet
mvn clean package
Kör applikationen
java -jar target/app.jar
Servern körs som standard på http://localhost:8080.
Pusha dina ändringar
git add .
git commit -m "Initial setup"
git push origin main
Lokal utveckling med Docker
Om du inte har Java eller Maven installerat lokalt kan du använda Docker för att bygga och köra ditt projekt.
Köra kommandon med Docker
# Build the project
docker run --rm -v $(pwd):/app -w /app maven:3-eclipse-temurin-21 mvn clean package
# Run the application
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 # Ingångspunkt och HTTP-server
│ ├── handlers/ # Request-hanterare
│ └── models/ # Datamodeller
├── pom.xml # Maven-beroenden
└── Dockerfile # Docker-konfiguration
Vanliga uppgifter
Skapa en HTTP-handler
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());
}
}
}
Databasanslutning med 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();
Användbara kommandon
mvn clean package
Bygg projektet
java -jar target/app.jar
Kör applikationen
mvn dependency:tree
Visa beroendeträdet
Felsökning
java.sql.SQLException: Access denied
Lösning: Kontrollera att din JDBC-anslutnings-URL, användarnamn och lösenord matchar inloggningsuppgifterna från din dashboard.
Port 8080 already in use
Lösning: Ändra porten i din App.java eller stoppa den andra processen som använder port 8080.
ClassNotFoundException for JDBC driver
Lösning: Säkerställ att MySQL JDBC-drivrutinen finns med i dina pom.xml-beroenden och kör mvn clean package igen.