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.

Antes de empezar
Asegúrate de tener tu panel abierto - necesitarás las credenciales de Git que se muestran allí. Esta plantilla incluye un servidor HTTP ligero, JDBC para el acceso a la base de datos y Gson para el manejo de JSON.

Inicio rápido

1

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

2

Clona tu repositorio

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

Compila el proyecto

mvn clean package
4

Ejecuta la aplicación

java -jar target/app.jar

El servidor se ejecuta en http://localhost:8080 por defecto.

5

Sube tus cambios

git add .
git commit -m "Initial setup"
git push origin main
Cada push a Git despliega tu aplicación automáticamente. Consulta tu URL de trabajo del módulo en el panel para ver tu sitio en vivo.

Desarrollo local con Docker

Si no tienes Java o Maven instalados localmente, puedes usar Docker para compilar y ejecutar tu proyecto.

¿Qué es Docker?
Docker crea "contenedores" aislados con todo el software que necesitas (Java, Maven) sin instalarlo en tu ordenador.

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.

Flujo de despliegue

Cambio de código git push mvn package ¡En vivo!
Para más información, visita la documentación oficial de Java.