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.

Zanim zaczniesz
Upewnij się, że masz otwarty pulpit – będą ci potrzebne wyświetlone tam dane logowania do Git. Ten szablon zawiera lekki serwer HTTP, JDBC do dostępu do bazy danych oraz Gson do obsługi JSON.

Pierwsze kroki

1

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".

2

Sklonuj repozytorium

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

Zbuduj projekt

mvn clean package
4

Uruchom aplikację

java -jar target/app.jar

Serwer domyślnie działa pod adresem http://localhost:8080.

5

Wypchnij swoje zmiany

git add .
git commit -m "Initial setup"
git push origin main
Każde wypchnięcie do Git automatycznie wdraża twoją aplikację. Sprawdź adres Module Work URL na pulpicie, aby zobaczyć działającą stronę.

Lokalny rozwój z Dockerem

Jeśli nie masz lokalnie zainstalowanej Javy ani Mavena, możesz użyć Dockera do zbudowania i uruchomienia projektu.

Czym jest Docker?
Docker tworzy izolowane "kontenery" zawierające całe potrzebne oprogramowanie (Java, Maven) bez instalowania go na twoim komputerze.

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.

Proces wdrażania

Zmiana kodu git push mvn package Live!
Aby uzyskać więcej informacji, odwiedź oficjalną Dokumentację Javy.