2. IntelliJ IDEA y Maven: el entorno de trabajo
2.1 Instalación de JDK 25 e IntelliJ IDEA Community
Antes de escribir una sola línea de código necesitamos montar el taller. Dos piezas:
- JDK 25 (Adoptium Temurin): descárgalo desde adoptium.net, eligiendo la versión 25 (LTS) correspondiente a tu sistema operativo. El instalador se encarga de todo; en Windows, marca la opción de añadirlo al
PATHsi el instalador lo ofrece. - IntelliJ IDEA Community Edition: es un IDE (Integrated Development Environment, entorno de desarrollo integrado), es decir, un editor de texto con superpoderes: autocompletado inteligente, detección de errores en tiempo real, refactorización automática, depurador visual y gestión integrada de proyectos Maven. La edición Community es gratuita y de código abierto, y es más que suficiente para todo lo que haremos en el módulo.
🛠️ ¿Por qué un IDE y no simplemente el Bloc de Notas? Podrías escribir Java en cualquier editor de texto plano y compilarlo a mano por terminal. Pero sería como intentar montar un mueble de IKEA sin las herramientas que trae la caja: técnicamente posible, pero te vas a dejar la salud. El IDE te avisa de errores antes de ejecutar, te sugiere el código mientras escribes y te ahorra cientos de comandos de terminal repetitivos.
2.2 Crear un proyecto Maven desde cero
Maven es una herramienta de gestión de proyectos y dependencias. Su trabajo es doble:
- Define una estructura de carpetas estándar para que cualquier programador Java del mundo sepa dónde encontrar qué, sin sorpresas.
- Gestiona automáticamente las librerías externas que tu proyecto necesita (más adelante: JUnit, Jackson, JavaFX...), descargándolas de un repositorio central sin que tengas que ir a buscarlas a mano por internet.
📦 Analogía: Maven es como el encargado de almacén de una fábrica. Tú le dices en una lista de la compra (
pom.xml) qué piezas necesitas y de qué versión exacta, y él se encarga de traerlas del almacén central (Maven Central) y colocarlas donde tocan, sin que tú tengas que ir a buscarlas.
Al crear un nuevo proyecto Maven en IntelliJ (File → New → Project → Maven), se genera automáticamente esta estructura de carpetas:
Fíjate en un detalle importante: la ruta de carpetas dentro de src/main/java/ reproduce exactamente el nombre del paquete separado por barras. Si tu clase declara package dam.programacion.ud1;, el fichero .java tiene que vivir en src/main/java/dam/programacion/ud1/. No es una sugerencia de estilo: si no coincide, el proyecto no compila correctamente.
A lo largo de este curso, cada unidad didáctica usará su propio subpaquete siguiendo el patrón dam.programacion.udN (donde N es el número de unidad, del 1 al 9), para que el código de cada tema quede perfectamente organizado y sea fácil de localizar.
2.3 El pom.xml explicado
El pom.xml (Project Object Model) es el fichero de configuración central de Maven. Es un documento XML que describe qué es tu proyecto y qué necesita para compilar y ejecutarse.
| Etiqueta | Significado |
|---|---|
groupId |
Quién "es dueño" del proyecto (organización, en nuestro caso dam.programacion) |
artifactId |
Nombre concreto de este proyecto/módulo |
version |
Versión del propio proyecto (no de Java). SNAPSHOT = en desarrollo |
<maven.compiler.source/target> |
Versión de Java con la que se compila y para la que se genera el bytecode |
<dependencies> |
Lista de librerías externas necesarias (vacía en UD1, se llenará en unidades futuras) |
<build><plugins> |
Herramientas adicionales que amplían lo que Maven puede hacer (aquí, ejecutar la app) |
🔮 Mirando al roadmap: este mismo
pom.xmlque hoy parece casi vacío es el que iremos ampliando durante todo el curso. En UD2 le añadiremos JUnit 5 para probar código; en UD5, Jackson y JavaFX; en UD8, JPA y ObjectDB; en UD9, el driver SQLite. Aprender bien su estructura ahora te ahorra muchos quebraderos de cabeza después.
2.4 Compilar y ejecutar con Maven
Maven organiza su trabajo en un ciclo de vida de fases encadenadas: cada fase ejecuta automáticamente todas las anteriores.
| Comando | Qué hace | Analogía de cocina |
|---|---|---|
mvn compile |
Traduce tu código .java a bytecode .class en la carpeta target/ |
Amasar y meter el pan al horno: lo preparas, pero aún no lo sirves |
mvn exec:java |
Ejecuta la clase principal configurada en el pom.xml |
Sacar el pan del horno y servirlo en la mesa |
mvn test |
Ejecuta las pruebas automáticas del proyecto (JUnit, lo veremos en UD2) | Probar el plato antes de servirlo al cliente |
mvn package |
Empaqueta el proyecto compilado en un .jar distribuible |
Envasar el pan al vacío para llevarlo a otro sitio |
mvn clean |
Borra todo lo generado en target/ |
Limpiar la cocina antes de volver a cocinar desde cero |
En el día a día casi nunca teclearás estos comandos a mano: usarás el botón ▶️ verde de IntelliJ, que internamente hace exactamente lo mismo (compilar + ejecutar). Pero es fundamental que entiendas qué ocurre "por debajo", porque en UD9 usaremos la terminal con más soltura y porque en el mundo profesional, estos mismos comandos se ejecutan de forma automatizada en servidores de integración continua.
2.5 Atajos de teclado imprescindibles en IntelliJ
Memorizar estos cinco atajos desde el primer día te va a ahorrar semanas de clics innecesarios a lo largo del curso.
| Atajo (Win/Linux) | Atajo (macOS) | Acción | Cuándo lo usarás |
|---|---|---|---|
Shift + F10 |
Ctrl + R |
Ejecutar el programa | Cada vez que quieras probar tu código |
F8 |
F8 |
Step Over: avanzar una línea sin entrar en los métodos | Al depurar (lo trabajaremos a fondo en UD3) |
Alt + Enter |
⌥ + Enter |
Mostrar soluciones rápidas (importar clases, corregir errores...) | Cuando IntelliJ subraya algo en rojo o amarillo |
Ctrl + Space |
⌃ + Space |
Autocompletado de código | Al escribir nombres de clases, métodos o variables |
Ctrl + Alt + L |
⌥ + ⌘ + L |
Reformatear el código automáticamente | Para mantener una indentación limpia y profesional |
💬 Consejo de profesor con chispa:
Alt + Enteres, sin exagerar, el atajo que más veces vas a pulsar en tu vida como programador Java. Cuando algo se subraye en rojo, resiste el impulso de borrarlo todo por pánico: pulsaAlt + Entery deja que IntelliJ te proponga la solución. El 80% de las veces acierta.