2009-01-07 11 views
8

Cuando uso esta línea cmd: frasco CMF arshad.mf ars.jar * .class me sale este error:archivo de cabecera no válida durante el uso de frasco para archivar

invalid header field name:Manifest-version 

Este es mi archivo de manifiesto:

Manifest-Version: 1.0 
Main-Class:t 

hice el archivo de manifiesto con la libreta en la codificación UTF-8 - ¿hay algún problema con el manifiesto?

+0

Hola chicos, recuerden votar esta pregunta y la respuesta si esto les ayudó! ¡Una pregunta debería tener más de 1 voto si tiene 5K + puntos de vista! – John

Respuesta

17

añadir un espacio después de los dos puntos:

Manifest-Version: 1.0 
Main-Class: t 
+0

wow. esa era una solución perfecta. mucho :) :) – arshad

+0

thxxxxxxxxxxxxx ¡Estaba buscando mucho sin resultados útiles! Escribí: "Main-Class: MainFram" Después de leer su respuesta escribí: "Main-Class: MainFram" y funcionó !!! muchas gracias @ Adam Rosenfield –

0

Sí, es cierto.

Un error común que las personas cometen cuando escriben sus archivos de manifiesto para jar es que no colocan espacios después de sus dos puntos. No sé, en función de lo que escribió aquí, si eso es o no, pero pruébelo.

Ejemplo:

Main-Class:someClass //wrong 
Main-Class: someClass //correct 
0

Además, el archivo de manifiesto debe guardar como UTF-8. No es necesariamente seguro escribirlo en MS Notepad y guardar como codificación UTF-8. Este post tiene algunos buenos detalles:

Invalid Header Field Name when adding manifest to JAR using Eclipse

Bloc de notas agrega algunos bytes en la parte frontal para transmitir la endian-dad de los datos. Esto romperá el comando jar. Una solución decente es no utilizar Notepad y descargar Notepad ++. En Notepad ++, seleccione 'codificación' de la barra superior y seleccione 'UTF-8 sin BOM'. Guardar el archivo de manifiesto con esta configuración aplicada debería resolver el problema. Si no hay otros

Cuestiones relacionadas