Lo que me gusta de NetBeans es que - al usar su propia creación de proyectos basado en Apache Ant - es que crea una carpeta llamada
Ok, por ahora no podré empaquetarlo en un archivo .zip, pero al menos quisiera que esté el .jar listo para ser ejecutado con el comando
Asà que, googleando, encontré esto:
Agregar estos tags en el archivo
Y Voila! Crea la carpeta lib con todos los jars necesarios, y luego distribuimos el archivo .jar de la aplicación, junto con el contenido de la carpeta lib.
Aquà tengo el código fuente de ejemplo. Espero que les sea de utilidad:;
https://bitbucket.org/apuntesdejava/blog/src/tip/sample-dist-app/
Este ejemplo permite reproducir una pista MP3, y como es Java es multiplataforma :)
Asà que para ejecutarlo desde una lÃnea de comandos (sea Linux, Mac o Windows) se ejecutará asÃ
Aquà está el archivo
Y me basé de este post:
http://stackoverflow.com/questions/574594/how-can-i-create-an-executable-jar-with-dependencies-using-maven#4323501
Si te gusta, hazlo saber; y si te es útil, comparte.. es gratis
dist
que tiene todo lo necesario para que pueda ser distribuido y ejecutado en cualquier computador que tenga JVM. Hace un tiempo hice un post que ampliaba esta funcionalidad para que al final quedara todo empaquetado en un archivo zip: Empaquetar una aplicación para distribuir, desde NetBeans. Ahora que estoy usando un poco más de Maven, noté que eso prepara los archivos como lo hacÃa con Ant. No los culpo... pero quiero hacer algo igual!.Ok, por ahora no podré empaquetarlo en un archivo .zip, pero al menos quisiera que esté el .jar listo para ser ejecutado con el comando
java -jar MiApp.jar
y que incluya los .jars necesarios para mi ejecución.Asà que, googleando, encontré esto:
Agregar estos tags en el archivo
pom.xml
(dentro de la sección plugins, o crear el tag para plugins<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <executions> <execution> <id>copy-dependencies</id> <phase>prepare-package</phase> <goals> <goal>copy-dependencies</goal> </goals> <configuration> <outputDirectory>${project.build.directory}/lib</outputDirectory> <overWriteReleases>false</overWriteReleases> <overWriteSnapshots>false</overWriteSnapshots> <overWriteIfNewer>true</overWriteIfNewer> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <configuration> <archive> <manifest> <addClasspath>true</addClasspath> <classpathPrefix>lib/</classpathPrefix> <mainClass>theMainClass</mainClass> </manifest> </archive> </configuration> </plugin>
Y Voila! Crea la carpeta lib con todos los jars necesarios, y luego distribuimos el archivo .jar de la aplicación, junto con el contenido de la carpeta lib.
Aquà tengo el código fuente de ejemplo. Espero que les sea de utilidad:;
https://bitbucket.org/apuntesdejava/blog/src/tip/sample-dist-app/
Este ejemplo permite reproducir una pista MP3, y como es Java es multiplataforma :)
Asà que para ejecutarlo desde una lÃnea de comandos (sea Linux, Mac o Windows) se ejecutará asÃ
java -jar sample-dist-app.jar
Aquà está el archivo
pom.xml
con el ejemplo que mencioné. He agregado a partir de la lÃnea 20:Y me basé de este post:
http://stackoverflow.com/questions/574594/how-can-i-create-an-executable-jar-with-dependencies-using-maven#4323501
Si te gusta, hazlo saber; y si te es útil, comparte.. es gratis