Tutorial: Crear un JAR
Este proceso NO es necesario para la entrega del TP.
Para poder compartir un programa hecho en Java de forma tal que pueda ser ejecutado en otra computadora, los pasos en general son:
- Compilar el proyecto y crear un archivo
.jar
. - Compartir el
.jar
a otra persona. - Esa persona debe:
- Tener instalado el Java Runtime Environment (JRE).
- Ejecutar en la consola
java -jar archivo.jar
(probablemente también funcione darle doble click al archivo).
Pasos para crear el JAR
Con este método es probable que el JAR funcione únicamente en el mismo sistema operativo en el que fue creado (por ejemplo, si lo creaste en Windows, solo se puede ejecutar en computadoras con Windows).
-
Agregar a la clase
Main
(la que extiendeApplication
) una funciónmain
con:public static void main(String[] args) { launch(args); }
-
Crear una clase nueva que NO extienda
Application
y que simplemente invoque aMain.main()
:public class ShadedMain { public static void main(String[] args) { Main.main(args); } }
-
Agregar en el
pom.xml
(entre<plugins>
y</plugins>
) y luego refrescar la configuración de Maven:<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>3.5.1</version> <executions> <execution> <goals> <goal>shade</goal> </goals> <configuration> <shadedArtifactAttached>true</shadedArtifactAttached> <transformers> <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> <mainClass>ShadedMain</mainClass> </transformer> </transformers> </configuration> </execution> </executions> </plugin>
-
Ejecutar el target
package
de Maven: -
El JAR debería estar disponible en la carpeta
target
, con un nombre comotp2023c2-1.0-SNAPSHOT-shaded.jar
.Se puede ejecutar en la consola con:
java -jar target/tp2023c2-1.0-SNAPSHOT-shaded.jar