Java Vanilla
Przegląd
Java Vanilla to czysty projekt Java wykorzystujący wyłącznie standardową bibliotekę i lekki serwer HTTP. Stanowi prosty punkt startowy do tworzenia aplikacji webowych i REST API bez narzutu jakiegokolwiek frameworka.
Pierwsze kroki
Utwórz repozytorium z szablonu
Na pulpicie przejdź do zakładki Tools & Deployment. Kliknij przycisk "New Repository", wybierz szablon Java Vanilla z listy rozwijanej, wpisz nazwę repozytorium i subdomenę, a następnie kliknij "Create Repository".
Sklonuj repozytorium
git clone https://<git-server>/<username>/<repo-name>.git
cd <repo-name>
Zbuduj projekt
mvn clean package
Uruchom aplikację
java -jar target/app.jar
Serwer domyślnie działa pod adresem http://localhost:8080.
Wypchnij swoje zmiany
git add .
git commit -m "Initial setup"
git push origin main
Lokalny rozwój z Dockerem
Jeśli nie masz lokalnie zainstalowanej Javy ani Mavena, możesz użyć Dockera do zbudowania i uruchomienia projektu.
Uruchamianie komend z Dockerem
# Zbuduj projekt
docker run --rm -v $(pwd):/app -w /app maven:3-eclipse-temurin-21 mvn clean package
# Uruchom aplikację
docker run --rm -v $(pwd):/app -w /app -p 8080:8080 eclipse-temurin:21 java -jar target/app.jar
Struktura projektu
├── src/
│ └── main/
│ └── java/
│ └── com/example/
│ ├── App.java # Punkt wejścia i serwer HTTP
│ ├── handlers/ # Obsługa żądań
│ └── models/ # Modele danych
├── pom.xml # Zależności Maven
└── Dockerfile # Konfiguracja Docker
Typowe zadania
Tworzenie handlera 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());
}
}
}
Połączenie z bazą danych przez 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();
Przydatne komendy
mvn clean package
Zbuduj projekt
java -jar target/app.jar
Uruchom aplikację
mvn dependency:tree
Pokaż drzewo zależności
Rozwiązywanie problemów
java.sql.SQLException: Access denied
Rozwiązanie: Sprawdź, czy adres URL połączenia JDBC, nazwa użytkownika i hasło odpowiadają danym logowania z twojego pulpitu.
Port 8080 jest już używany
Rozwiązanie: Zmień port w pliku App.java lub zatrzymaj inny proces używający portu 8080.
ClassNotFoundException dla sterownika JDBC
Rozwiązanie: Upewnij się, że sterownik MySQL JDBC jest dodany w zależnościach pom.xml i ponownie uruchom mvn clean package.