Pregunta

Cuando uso esta línea cmd: jar cmf arshad.mf ars.jar * .class me sale este error:

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 el bloc de notas en codificación UTF-8. ¿Hay algún problema con el manifiesto?

¿Fue útil?

Solución

Agregue un espacio después de los dos puntos:

Manifest-Version: 1.0
Main-Class: t

Otros consejos

Sí, es cierto.

Un error común que cometen las personas al escribir sus archivos de manifiesto para los archivos jar es que no ponen espacios después de sus dos puntos. No sé, según lo que escribiste aquí, si es eso o no, pero pruébalo.

Ejemplo:

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

Además, su archivo de manifiesto debe guardarse como UTF-8. No es necesariamente seguro escribirlo en MS Notepad y guardarlo como codificación UTF-8. Esta publicación tiene algunos buenos detalles:

Nombre de campo de encabezado no válido al agregar el manifiesto a JAR utilizando Eclipse

El Bloc de notas agrega algunos bytes al frente para transmitir la integridad de los datos. Esto romperá el comando jar. Una solución decente es no usar el Bloc de notas y descargar Notepad ++. En Notepad ++, selecciona 'codificación' en la barra superior y selecciona 'UTF-8 sin lista de materiales'. Guardar el archivo de manifiesto con esta configuración aplicada debería resolver el problema. Si no hay otros.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top