Una aplicación Swing lista para distribución debe ser un ejecutable independiente que no requiera que el usuario tenga Java instalado. Java 14+ incluye jpackage para este propósito.
Crear un JAR ejecutable con Maven
// pom.xml
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.6.0</version>
<executions>
<execution>
<phase>package</phase>
<goals><goal>shade</goal></goals>
<configuration>
<transformers>
<transformer implementation="...ManifestResourceTransformer">
<mainClass>com.ejemplo.Main</mainClass>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
# Compilar y empaquetar mvn clean package # Ejecutar el JAR java -jar target/mi-app-1.0-shaded.jar
jpackage: instalador nativo
# Crear instalador .msi (Windows) / .dmg (macOS) / .deb (Linux) jpackage \ --input target/ \ --name "Mi Aplicacion" \ --main-jar mi-app-1.0-shaded.jar \ --main-class com.ejemplo.Main \ --type msi \ --icon src/main/resources/icono.ico \ --app-version 1.0.0
HiDPI: pantallas de alta resolución
Java 9+ gestiona HiDPI automáticamente en la mayoría de plataformas. Para asegurar una escala correcta, añade esta propiedad al inicio:
// Antes de crear ningún componente Swing
System.setProperty("sun.java2d.uiScale", "auto");
// O forzar un factor concreto
System.setProperty("sun.java2d.uiScale", "1.5");
Con FlatLaf, el soporte HiDPI es automático y no requiere configuración adicional.
Continúa tu aprendizaje de Java con los demás tutoriales de esta serie: Tutorial Java Básico, JDBC y Servlets y JSP.
