Me he encontrado con un problema interesante que es absolutamente nuevo para mí. Como descubrí de repente, la especificación Jar dice que, al incluirse, META-INF
y MANIFEST.MF
deben ser la primera y la segunda entrada del paquete *.jar
y no solo el directorio y el archivo dentro del archivo.¿Cómo verifico el orden de MANIFEST.MF dentro de jar?
Estoy trabajando con Java framework estando muy pendiente de este requisito y no tanto. ¿Cómo puedo verificar que META-INF
y MANIFEST.MF
estén ordenados adecuadamente dentro del contenedor?
ACTUALIZACIÓN: Muchos de los frascos son de terceros, y hay muchos de ellos. No puedo abrir estos archivos en el bloc de notas, excel, hexeditor, photoshop o lo que sea que busque secuencias de bytes. Necesito la herramienta de línea de comandos. ¡Gracias!
ACTUALIZACIÓN 2: Aquí es la razón por la que estoy haciendo esta pregunta: http://www.mail-archive.com/[email protected]/msg17097.html
En realidad, la especificación no dice que tienen que ser el primero. Sin embargo, la herramienta de línea de comandos 'jar' los coloca primero y algunas herramientas esperan que lo sean, por ejemplo, porque una herramienta puede escanear rápidamente los manifiestos de un directorio completo de archivos JAR. Entonces, realmente es más una convención que un requisito. –
@Neil Bartlett, gracias por aclararme, pero empeora las cosas para mí :(Aquí está la fuente del problema: http://www.mail-archive.com/[email protected]/msg17097.html Any ideas? – Osw
Aha, así que esta es una instancia de una herramienta suponiendo que el MANIFIESTO es lo primero! Para responder a su pregunta original, 'jar tf foo.jar' debe listar los contenidos del JAR en orden. –