Java Vanilla
Oversikt
Java Vanilla er et enkelt Java-prosjekt som kun bruker standardbiblioteket og en lettvekts HTTP-server. Det gir et rent utgangspunkt for å bygge webapplikasjoner og REST-APIer uten ekstra rammeverk.
Hurtigstart
Opprett repository fra mal
Gå til fanen Tools & Deployment i dashbordet. Klikk på "New Repository", velg Java Vanilla-malen fra nedtrekksmenyen, skriv inn et repository-navn og et subdomene, og klikk deretter på "Create Repository".
Klon ditt repository
git clone https://<git-server>/<username>/<repo-name>.git
cd <repo-name>
Bygg prosjektet
mvn clean package
Kjør applikasjonen
java -jar target/app.jar
Serveren kjører som standard på http://localhost:8080.
Push endringene dine
git add .
git commit -m "Initial setup"
git push origin main
Lokal utvikling med Docker
Hvis du ikke har Java eller Maven installert lokalt, kan du bruke Docker til å bygge og kjøre prosjektet ditt.
Kjøre kommandoer med Docker
# Bygg prosjektet
docker run --rm -v $(pwd):/app -w /app maven:3-eclipse-temurin-21 mvn clean package
# Kjør applikasjonen
docker run --rm -v $(pwd):/app -w /app -p 8080:8080 eclipse-temurin:21 java -jar target/app.jar
Prosjektstruktur
├── src/
│ └── main/
│ └── java/
│ └── com/example/
│ ├── App.java # Inngangspunkt og HTTP-server
│ ├── handlers/ # Request-håndterere
│ └── models/ # Datamodeller
├── pom.xml # Maven-avhengigheter
└── Dockerfile # Docker-konfigurasjon
Vanlige oppgaver
Opprett 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());
}
}
}
Databasetilkobling 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
Bygg prosjektet
java -jar target/app.jar
Kjør applikasjonen
mvn dependency:tree
Vis avhengighetstre
Feilsøking
java.sql.SQLException: Access denied
Løsning: Sjekk at JDBC-tilkoblings-URL, brukernavn og passord samsvarer med påloggingsinformasjonen fra dashbordet.
Port 8080 already in use
Løsning: Endre porten i App.java, eller avslutt den andre prosessen som bruker port 8080.
ClassNotFoundException for JDBC driver
Løsning: Pass på at MySQL-JDBC-driveren er inkludert i avhengighetene i pom.xml, og kjør mvn clean package på nytt.