¿Cómo generamos y ejecutamos un JAR? (App Java)
¡Muy buenas a todos!
Al igual que os hablé de cómo compilar y ejecutar vuestra aplicación he pensado que no estaría de más hablaros de cómo generar y ejecutar un jar, que por si no lo sabéis, un jar es un ejecutable y es muy útil y al mismo tiempo necesario si no se tiene a mano un IDE o no sabemos usar la consola de Windows, así que es bastante necesario como digo en especial para usuarios ajenos a informática.
Bien, primero que todo hay que compilar sí o sí nuestra aplicación una vez la tenemos terminada, que el comando sería el siguiente:
javac MiAplicacion.java
Pero supongamos que tenemos un proyecto organizado de este modo:
proyecto/
│
├── src/ # Directorio raíz del código fuente
│ ├── controller/ # Directorio para los controladores
│ │ └── MainController.java # Clase que controla la lógica de la interfaz
│ │
│ ├── model/ # Directorio para los modelos
│ │ └── MainModel.java # Clase que maneja los datos y la lógica del modelo
│ │
│ ├── view/ # Directorio para las vistas
│ │ └── CredentialsDialog.java # Clase que maneja el diálogo de credenciales
│ │
│ └── MainApp.java # Clase principal que arranca la aplicación
│
├── lib/ # Directorio de librerías externas
│ └── openjfx-23.0.1_windows-x64_bin-sdk/
│ └── javafx-sdk-23.0.1/
│ └── lib/ # Librerías de JavaFX
│
└── out/ # Directorio para los archivos compilados
La cosa ya cambia porque el anterior comando solo funcionaría si nuestro proyecto cuenta con un único archivo java pero normalmente cuando hacemos proyectos grandes siempre se suele organizar por carpetas, esa estructura que estáis viendo ahora mismo es la de una aplicación con la que he estado trabajando usando la jerarquía MVC (Modelo-Vista-Controlador), de este modo podemos dividir la lógica, la interfaz y el controlador (el que interactúa con el modelo y la vista).
Esta app cuenta también con una librería de JavaFX, librería que os estoy mencionando últimamente y que ha salido en el último vídeo del canal, así que a la hora de compilarla es importante añadirle también dicha librería.
Por lo tanto, en este caso el comando para compilar sería el siguiente:
javac --module-path lib/openjfx-23.0.1_windows-x64_bin-sdk/javafx-sdk-23.0.1/lib ^ --add-modules javafx.controls,javafx.fxml ^ -d out ^ proyecto/src/controller/MainController.java ^ proyecto/src/model/MainModel.java ^ proyecto/src/view/CredentialsDialog.java ^ proyecto/src/MainApp.java
Se pueden compilar todos los archivos y directorios en un solo comando pero en este caso que no hay demasiados no habría ningún problema.
Próximamente, generamos el jar con el siguiente comando:
jar cfe Script.jar MainApp -C out .
Y por último, ejecutamos el jar, podemos hacerlo manualmente o por medio de comandos, que sería el siguiente:
java --module-path lib/openjfx-23.0.1_windows-x64_bin-sdk/javafx-sdk-23.0.1/lib \ --add-modules javafx.controls,javafx.fxml \ -jar Script.jar
Que en una aplicación sin JavaFX o digamos un comando más generalizado sería el siguiente:
java -jar Script.jar
Y esto sería todo, aunque hay otro ejecutable muy utilizado que es el bat, ¿cómo lo haríamos?
Es tan sencillo como que empezar a abrir un archivo de texto y escribir lo siguiente en él:
@echo off java -jar (ruta relativa a tu archivo jar) pause
@echo off java -jar (ruta relativa a tu archivo jar) pause
Y guardar ese archivo con la extensión .bat y listo, si lo queréis ejecutar desde la consola es tan simple como poner lo siguiente:
App.bat (App es el nombre de vuestra aplicación.)
¡Esto sería todo, coders! Que tengáis un buen día~.
Comentarios
Publicar un comentario