Tengo un programa que consta de dos archivos Java Swing simples.
¿Cómo hago un archivo JAR ejecutable para mi programa?
java
jar
executable-jar
Rubén
fuente
fuente
Respuestas:
Un archivo jar es simplemente un archivo que contiene una colección de archivos java. Para hacer que un archivo jar sea ejecutable, debe especificar dónde está la
main
clase en el archivo jar. El código de ejemplo sería el siguiente.public class JarExample { public static void main(String[] args) { javax.swing.SwingUtilities.invokeLater(new Runnable() { public void run() { // your logic here } }); } }
Compile sus clases. Para hacer un frasco, también necesita crear un archivo de manifiesto (
MANIFEST.MF
). Por ejemplo,Manifest-Version: 1.0 Main-Class: JarExample
Coloque los archivos de clase de salida compilados (JarExample.class, JarExample $ 1.class) y el archivo de manifiesto en la misma carpeta. En el símbolo del sistema, vaya a la carpeta donde se colocaron sus archivos y cree el jar usando el comando jar. Por ejemplo (si nombra su archivo de manifiesto como jexample.mf)
Creará el ejecutable jarexample.jar.
fuente
jar cvfe jarexample.jar com.example.jar.JarExample *.class
En Eclipse puedes hacerlo simplemente de la siguiente manera:
fuente
Aquí está en una línea:
jar cvfe myjar.jar package.MainClass *.class
¿Dónde
MainClass
está la clase con tumain
método ypackage
esMainClass
el paquete.Tenga en cuenta que debe compilar sus
.java
archivos en.class
archivos antes de hacer esto.c create new archive v generate verbose output on standard output f specify archive file name e specify application entry point for stand-alone application bundled into an executable jar file
Esta respuesta se inspiró en el comentario de Powerslave sobre otra respuesta.
fuente
Error: Could not find or load main class mtx.testClass Caused by: java.lang.ClassNotFoundException: mtx.testClass
testClass
definido en uno de sus.class
archivos? Asegúrese de haber compilado sus.java
archivos fuente ( ) antes de ejecutar este comando. Además, por lo general, su clase debería ser UpperCamelCase, puede intentar cambiarle el nombre aTestClass
.Si usa maven, agregue lo siguiente a su archivo pom.xml :
<plugin> <!-- Build an executable JAR --> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>2.4</version> <configuration> <archive> <manifest> <mainClass>com.path.to.YourMainClass</mainClass> </manifest> </archive> </configuration> </plugin>
Entonces puedes correr
mvn package
. El archivo jar se ubicará en el directorio de destino .fuente
Es demasiado tarde para responder a esta pregunta. Pero si alguien está buscando esta respuesta ahora, la he hecho para que se ejecute sin errores.
En primer lugar, asegúrese de descargar y agregar maven a la ruta . [
mvn --version
] le dará las especificaciones de la versión si lo ha agregado a la ruta correctamente.Ahora, agregue el siguiente código al proyecto maven [
pom.xml
], en el siguiente código reemplácelo con su propio punto de entrada del archivo principal, por ejemplo, [ com.example.test.Test ].<plugin> <!-- Build an executable JAR --> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>2.4</version> <configuration> <archive> <manifest> <mainClass> your_package_to_class_that_contains_main_file .MainFileName</mainClass> </manifest> </archive> </configuration> </plugin>
Ahora vaya a la línea de comando [
CMD
] en su proyecto y escribamvn package
y generará un archivo jar como algo así comoProjectName-0.0.1-SNAPSHOT.jar
bajotarget
directorio.Ahora navegue hasta el directorio de destino por .
cd target
Finalmente escriba
java -jar jar-file-name.jar
y sí, esto debería funcionar correctamente si no tiene ningún error en su programa.fuente