Saltar al contenido

Actualización del archivo de manifiesto jar – java.io.IOException: formato de manifiesto no válido

Solución:

Como el archivo de manifiesto está contenido en el subdirectorio META-INF del archivo jar con el nombre MANIFEST.MF, siempre que cree un archivo jar para el símbolo del sistema mediante el comando
jar cvf Jarfilename FilesToadd
Luego, se crea un archivo de manifiesto predeterminado. Uno puede ver este archivo y tener una idea de Manifestfile válido. Para extraer el archivo de manifiesto del tipo jar siguiendo el comando en cmd
jar xvf Jarfilename ahora aparecerá un subdirectorio META-INF en el directorio base desde aquí puede ver el archivo de manifiesto predeterminado. A veces, al actualizar el archivo de manifiesto, obtenemos java.io.IOException: formato de manifiesto no válido.Este error se debe a las siguientes razones:

1.Es posible que no haya dejado espacio entre el nombre y el valor de ninguna sección en el archivo de manifiesto,
igual que Versión: 1.1 es una sección no válida en lugar de escribir Versión: 1.1 ese espacio entre dos puntos y 1.1 realmente importa mucho.

2.Mientras especifica la clase principal, es posible que haya agregado la extensión .class al final del nombre de la clase.Simplemente especifique la clase principal escribiendo Clase principal: Nombre de clase.

Es posible que no haya agregado una nueva línea al final del archivo. No es necesario que escriba n para especificar una nueva línea en su lugar, simplemente deje en blanco la última línea de su archivo de manifiesto que servirá para el propósito

4.Su archivo de texto para el manifiesto debe usar UTF-8 codificación, de lo contrario, puede tener problemas.

Finalmente, proporciono un ejemplo de cómo debe verse un archivo de manifiesto. Aquí el paquete es calculadora y la clase principal es Calculator.java

Versión de manifiesto: 2.1

Creado por: UselessCoder

Nombre del paquete: calculadora

Nombre de clase: calculator.Calculator.java

Clase principal: calculadora Calculadora

Los enlaces ofrecidos por Peter fueron parcialmente útiles. Sin embargo, pude resolver esto más o menos por prueba y error. Los documentos de Oracle que explican cómo hacer esto necesitan mucho trabajo. Carecen de un buen ejemplo de cómo proceder. De todos modos, para aquellos que se encuentran con los mismos problemas, esto es lo que hice. Creé un archivo de texto (por ejemplo, “Manifest.txt”) usando el Bloc de notas que contiene los atributos de manifiesto que quería agregar / actualizar. Al crear este archivo, me aseguré de agregar un carácter de nueva línea a la última línea presionando la tecla en el teclado. A continuación, creé un archivo bat de DOS para hacer la modificación real. Así es como se veía …

echo Updating manifest permissions...
"C:Program FilesJavajdk1.7.0_25binjar" -umf "c:some folderManifest.txt" "C:some folderjartoupdate.jar"

Es importante el orden de los argumentos del jar en relación con las rutas reales que siguen en la línea de comando. Los enlaces de la respuesta de Peter señalaron esa parte.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *