Llevo unos días metido en el tema de la programación en Java, pues me gustaría intentar hacer un mini programa para mi
treball de recerca de bachillerato, así que me puse a buscar unos cuantos tutoriales y manuales sobre java.
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.jarEspero que quien tenga el mismo problema que yo caiga aquí y le sirva de ayuda n_n
Un saludo,
Morpheus