Java Vanilla
Descripción general
Java Vanilla es un proyecto de Java puro que utiliza únicamente la biblioteca estándar y un servidor HTTP ligero. Ofrece un punto de partida limpio para crear aplicaciones web y APIs REST sin la sobrecarga de un framework.
Inicio rápido
Crear repositorio desde plantilla
En tu panel, ve a la pestaña Tools & Deployment. Haz clic en el botón "New Repository", selecciona la plantilla de Java Vanilla del menú desplegable, introduce un nombre de repositorio y un subdominio, y luego haz clic en "Create Repository".
Clona tu repositorio
git clone https://<git-server>/<username>/<repo-name>.git
cd <repo-name>
Compila el proyecto
mvn clean package
Ejecuta la aplicación
java -jar target/app.jar
El servidor se ejecuta en http://localhost:8080 por defecto.
Sube tus cambios
git add .
git commit -m "Initial setup"
git push origin main
Desarrollo local con Docker
Si no tienes Java o Maven instalados localmente, puedes usar Docker para compilar y ejecutar tu proyecto.
Ejecutar comandos con 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
Estructura del proyecto
├── src/
│ └── main/
│ └── java/
│ └── com/example/
│ ├── App.java # Punto de entrada y servidor HTTP
│ ├── handlers/ # Manejadores de peticiones
│ └── models/ # Modelos de datos
├── pom.xml # Dependencias Maven
└── Dockerfile # Configuración Docker
Tareas comunes
Crear un manejador 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());
}
}
}
Conexión a la base de datos con 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();
Comandos útiles
mvn clean package
Compilar el proyecto
java -jar target/app.jar
Ejecutar la aplicación
mvn dependency:tree
Mostrar el árbol de dependencias
Resolución de problemas
java.sql.SQLException: Access denied
Solución: Comprueba que la URL de conexión JDBC, el nombre de usuario y la contraseña coinciden con las credenciales de tu panel.
El puerto 8080 ya está en uso
Solución: Cambia el puerto en tu App.java o detén el otro proceso que está usando el puerto 8080.
ClassNotFoundException para el driver JDBC
Solución: Asegúrate de que el driver JDBC de MySQL está incluido en las dependencias de tu pom.xml y ejecuta mvn clean package de nuevo.