Estoy leyendo este tutorial para novatos y he llegado al punto en que te enseñan a empaquetar en archivos .jar.
Hasta aquí muy bien, pero llegado al punto de incluir el manifiesto para poder ejecutar java directamente, me ocurre lo siguiente:
java -jar fichero.jar
Failed to load Main-Class manifest attribute from fichero.jar
El archivo de manifiesto estaba bien escrito: Main-Class: prueba.HolaMundo, así que no sé que es lo que podía ocurrir. Entonces lo volví a compilar (unas cuantas veces) para comprobar que no era un problema de ejecución de comandos y seguía dándome el mismo error.
Abrí Google y me puse a indagar utilizando el código de error como búsqueda, y no fueron pocas las páginas que me aparecieron. El caso es que cuando llegué a la séptima u octava página encontré, no uno, sino dos páginas que me daban la clave al problema:
Para cerrar el archivo de manifiesto, hay que dejar un salto de línea al final, de tal modo que quedaría así:
Manifest-Version: 1.0
Main-Class: prueba.HolaMundo
/*aquí está el salto de línea*/
Volvemos a compilar:
jar cfmv fichero.jar manifest.mf prueba
manifest agregado
agregando: prueba/ (entrada = 0) (salida = 0) (almacenado 0%)
agregando: prueba/HolaMundo.class (entrada = 511) (salida = 339) (desinflado 33%
)
agregando: prueba/HolaMundo.java (entrada = 247) (salida = 146) (desinflado 40%)
Ejecutamos:
java -jar fichero.jar
Hola mundo
Y ya hemos conseguido que funcione ^^
Si queréis, podéis descargar el fichero.jar
Espero que quien tenga el mismo problema que yo caiga aquí y le sirva de ayuda n_n
Un saludo,
Morpheus
3 comentarios:
Freak (K)
gran ayuda xD
tenia el mismo problema con el manifiesto
Me alegro de que te haya servido de ayuda ^^
Publicar un comentario