Descargas
Cinco módulos que se toman por separado. Toma solo lo que uses: si únicamente necesitas atender HTTP, son 77 KB y no arrastras nada más.
Artefactos · 0.2.0
LuxCore no está en Maven Central todavía. Los artefactos se generan compilando, que es una orden. Las huellas de abajo son las de esta versión, para que puedas comprobar que lo que compilaste coincide.
| Módulo | Necesita | Clases | Tamaño | SHA-256 |
|---|---|---|---|---|
| lux-httpServidor HTTP/1.1, TLS, cookies, sesiones, multipart, gzip, estáticos, WebSocket | — | 36 | 77 KB | 79296a8a38a961c1… |
| lux-coreRutas, inyección, JSON, validación, seguridad, métricas, caché, eventos, OpenAPI, tareas | lux-http | 63 | 147 KB | 5309738f66a6fbde… |
| lux-viewPlantillas con herencia, bucles y escapado por defecto | lux-core | 9 | 38 KB | cd0bf0447a2435f3… |
| lux-dataJDBC, pool, transacciones y repositorios | lux-core | 14 | 35 KB | dc57b2ccddf94d4f… |
| lux-adapter-servletDesplegar una aplicación LuxCore dentro de Tomcat 10.1+ | lux-core | 4 | 13 KB | b7cc3a24d28302ef… |
| lux-launcherEmpaquetar la aplicación y el framework en un jar ejecutable | — | 1 | 7 KB | — |
| Los seis | — | 129 | 321 KB |
Ninguno arrastra dependencias externas. El único JAR ajeno que verás en tu aplicación es el driver JDBC de tu base de datos, y lo pones tú.
Maven
Tras ./lux instalar, los artefactos quedan en tu repositorio local y se
declaran como cualquier otro.
<!-- lo mínimo para una API: arrastra lux-http --> <dependency> <groupId>lux</groupId> <artifactId>lux-core</artifactId> <version>0.2.0</version> </dependency> <!-- si sirves HTML --> <dependency> <groupId>lux</groupId> <artifactId>lux-view</artifactId> <version>0.2.0</version> </dependency> <!-- si hablas con una base de datos --> <dependency> <groupId>lux</groupId> <artifactId>lux-data</artifactId> <version>0.2.0</version> </dependency> <!-- el driver lo pones tú: este es el único externo --> <dependency> <groupId>org.postgresql</groupId> <artifactId>postgresql</artifactId> <version>42.7.4</version> </dependency>
Qué tomar
Un servidor con handlers a mano, sin rutas ni inyección. Para un webhook, un healthcheck o un proxy pequeño.
Rutas, inyección, validación, seguridad y métricas. Lo habitual para un servicio.
Añade plantillas con herencia y escapado por defecto.
JDBC, pool, transacciones y repositorios. Más el driver de tu motor.
Despliega la misma aplicación dentro de Tomcat mientras haces el cambio, y vuelve atrás si hace falta.
Desde el código
git clone git@github.com:Andre031222/LuxCore.git cd LuxCore ./lux instalar # compila, prueba e instala en ~/.m2 ./lux empaquetar # solo los JAR, con sus tamaños ./lux probar # las 1 238 pruebas ./lux correr # la aplicación de ejemplo en :8080 ./lux web # esta documentación, servida por LuxCore ./lux cache # qué ocupa, y --purgar para vaciarla ./lux limpiar # borra lo generado
La aplicación de ejemplo está en java/ejemplo: un gestor de tareas
completo con vistas, formularios, base de datos y API REST, con 36 pruebas de punta a
punta. Es el mejor sitio por donde empezar a leer.
Comprobar lo que compilaste
shasum -a 256 java/lux-core/target/lux-core-0.2.0.jar
# debe empezar por 5309738f66a6fbde
Requisitos
| Qué | Versión | Por qué |
|---|---|---|
| JDK | 21 o superior | Hilos virtuales: el servidor asigna uno por conexión y sin ellos el modelo no se sostiene. Desarrollado y medido con OpenJDK 25. |
| Maven | 3.9+ | Solo para compilar. En ejecución no hace falta. |
| Sistema | cualquiera | Sin código nativo ni rutas del sistema. Probado en macOS y en Linux; sin verificar en Windows. |
| Driver JDBC | el de tu motor | Solo si usas lux-data. Verificado con PostgreSQL 16, MySQL 8 y H2. |
| Tomcat | 10.1+ | Solo si despliegas con lux-adapter-servlet. En modo normal no se usa. |
Licencia
MIT. Puedes usarlo, modificarlo, distribuirlo y venderlo, con o sin cambios, en proyectos abiertos o cerrados. La única condición es conservar el aviso de copyright.
Generar un proyecto
Esta página la sirve LuxCore, así que el formulario funciona de verdad: rellena y te
descargas un proyecto Maven listo para arrancar — clase principal, un controlador,
plantillas y hoja de estilo. Sin contenedor y sin web.xml.