Java Vanilla
Oversigt
Java Vanilla er et almindeligt Java-projekt, der kun bruger standardbiblioteket og en letvægts HTTP-server. Det giver et rent udgangspunkt for at bygge webapplikationer og REST API'er uden framework-overhead.
Kom godt i gang
Opret repository fra skabelon
Gå til fanen Tools & Deployment på dit dashboard. Klik på "New Repository", vælg Java Vanilla-skabelonen i dropdown-menuen, indtast et repository-navn og et subdomæne, og klik på "Create Repository".
Klon dit repository
git clone https://<git-server>/<username>/<repo-name>.git
cd <repo-name>
Build projektet
mvn clean package
Kør applikationen
java -jar target/app.jar
Serveren kører som standard på http://localhost:8080.
Push dine ændringer
git add .
git commit -m "Initial setup"
git push origin main
Lokal udvikling med Docker
Hvis du ikke har Java eller Maven installeret lokalt, kan du bruge Docker til at bygge og køre dit projekt.
Kør kommandoer 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 # Entry point & HTTP-server
│ ├── handlers/ # Request-håndterere
│ └── models/ # Datamodeller
├── pom.xml # Maven-afhængigheder
└── Dockerfile # Docker-konfiguration
Almindelige opgaver
Opret 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());
}
}
}
Databaseforbindelse 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();
Nyttige kommandoer
mvn clean package
Build projektet
java -jar target/app.jar
Kør applikationen
mvn dependency:tree
Vis afhængighedstræ
Fejlfinding
java.sql.SQLException: Access denied
Løsning: Tjek at din JDBC-forbindelses-URL, brugernavn og adgangskode matcher loginoplysningerne fra dit dashboard.
Port 8080 er allerede i brug
Løsning: Skift porten i din App.java eller stop den anden proces, der bruger port 8080.
ClassNotFoundException for JDBC-driver
Løsning: Sørg for, at MySQL JDBC-driveren er inkluderet i dine pom.xml-afhængigheder, og kør mvn clean package igen.