Java creando un archivo .jar

Estoy aprendiendo Java y tengo un problema. Creé 6 clases diferentes, cada una tiene su propio método main() . Quiero crear .jar ejecutable para cada clase, es decir, 6 archivos .jar ejecutables.

Hasta ahora probé

 java -jar cf myJar.jar myClass.class 

y obtengo ‘No se puede acceder a jarfile cf’ . Estoy haciendo algo mal, pero no sé qué. También estoy usando Eclipse IDE si eso significa algo.

Para crear un archivo .jar, necesita usar jar lugar de java :

 jar cf myJar.jar myClass.class 

Además, si desea que sea ejecutable, debe indicar un punto de entrada (es decir, una clase con public static void main(String[] args) ) para su aplicación. Esto generalmente se logra al crear un archivo de manifiesto que contiene el encabezado de Main-Class (p. Ej., Main-Class: myClass ).

Sin embargo, como señaló Mark Peters, con JDK 6, puede usar la opción e para definir el punto de entrada:

 jar cfe myJar.jar myClass myClass.class 

Finalmente, puedes ejecutarlo:

 java -jar myJar.jar 

Ver también

  • Creando un archivo JAR
  • Establecer el punto de entrada de una aplicación con la herramienta JAR

Ya has mencionado que estás usando Eclipse … Eclipse puede crear los JAR para ti, siempre y cuando hayas ejecutado cada clase que tenga una principal una vez. Haga clic con el botón derecho en el proyecto y haga clic en Exportar, luego seleccione “Archivo JAR ejecutable” debajo de la carpeta Java. Seleccione el nombre de la clase en la configuración de inicio, elija un lugar para guardar el contenedor y tome una decisión sobre cómo manejar las bibliotecas si es necesario. Haga clic en finalizar, limpie las manos en los pantalones.

A menudo necesitas poner más en el manifiesto que lo que obtienes con el -e , y en ese caso, la syntax es:

 jar -cvfm myJar.jar myManifest.txt myApp.class 

Que dice: “create verbose jarFilename manifestFilename”, seguido de los archivos que desea incluir.

Tenga en cuenta que el nombre del archivo de manifiesto que suministra puede ser cualquier cosa, ya que jar lo cambiará de nombre automáticamente y lo colocará en el lugar correcto dentro del archivo jar.

camino 1:

Vamos a tener el archivo java test.java que contiene la clase principal testa ahora primero comstackmos nuestro archivo java simplemente como javac test.java creamos el archivo manifest.txt en el mismo directorio y escribimos Main-Class: mainclassname. p.ej :

  Main-Class: testa 

luego creamos el archivo jar con este comando:

  jar cvfm anyname.jar manifest.txt testa.class 

luego ejecutamos el archivo jar con este comando: java -jar anyname.jar

camino 2:

Vamos a tener un paquete llamado uno y cada clase está dentro de él. luego creamos el archivo jar con este comando:

  jar cf anyname.jar one 

luego abrimos manifest.txt dentro del directorio META-INF en el archivo anyname.jar y escribimos

  Main-Class: one.mainclassname 

en tercera línea., luego ejecutamos archivo jar con este comando:

  java -jar anyname.jar 

para hacer que el archivo jar tenga más de un archivo de clase: jar cf anyname.jar one.class two.class three.class ……

Coloque todas las 6 clases en 6 proyectos diferentes. Luego crea archivos jar de los 6 proyectos. De esta manera obtendrás 6 archivos jar ejecutables.