sábado, 4 de septiembre de 2010

Manifest.MF - java.io.IOException: line too long

Al tratar de crear el jar de mi proyecto, especificando Main-Class y Class-Path me arrojaba el siguiente error
jar -cfm programa.jar Manifest.txt
java.io.IOException: line too long
at java.util.jar.Attributes.read(Attributes.java:362) 
at java.util.jar.Manifest.read(Manifest.java:182) 
at java.util.jar.Manifest. <init> (Manifest.java:52) at sun.tools.jar.Main.run(Main.java:151)
at sun.tools.jar.Main.main(Main.java:1149)
En el campo Class-Path se colocan todos los jar que necesito, adicionales, para ejecutar mi programa, cada jar separados por espacio, pudiendo decir path_relacional/otrojar.jar, como lo dice la documentación de java.

Pero al ejecutar el comando y pasarle el archivo para crear el manifest, me arrojaba el error anterior, busque en internet el error y no conseguí la solución, solo más personas con el mismo problema, pero por pura casualidad mis compañeros de trabajo y yo vimos como lo hace el Netbeas y notamos lo siguiente:

Las lineas donde se colocan los jar son de tamaño fijo, y la siguiente linea donde continua colocando los jar comienza con un espacio en blanco.

Como en el archivo siguiente "Manifest.txt"
Manifest-Version: 1.0
Class-Path: lib/abeilleforms/formsrt.jar lib/apache-http-client/common
s-codec-1.3.jar lib/apache-http-client/apache-mime4j-0.6.jar lib/apac he-http-client/commons-codec-1.3.jar lib/apache-http-client/commons-l ogging-1.1.1.jar lib/apache-http-client/httpclient-4.0.jar lib/apache -http-client/httpcore-4.0.1.jar lib/apache-http-client/httpmime-4.0.j ar lib/axis2/annogen-0.1.0.jar lib/axis2/axiom-api-1.2.7.jar lib/axis 2/axiom-impl-1.2.7.jar lib/axis2/axis2-adb-1.4.1.jar lib/axis2/axis2- java2wsdl-1.4.1.jar lib/axis2/axis2-kernel-1.4.1.jar lib/axis2/backpo rt-util-concurrent-3.1.jar lib/axis2/commons-codec-1.3.jar lib/axis2/ commons-httpclient-3.1.jar lib/axis2/commons-logging-1.1.1.jar lib/ax is2/log4j-1.2.15.jar lib/axis2/neethi-2.0.4.jar lib/axis2/wsdl4j-1.6. 2.jar lib/axis2/wstx-asl-3.2.4.jar lib/axis2/XmlSchema-1.4.2.jar lib/ hsqldb/hsqldb.jar lib/jcalendar/jcalendar-1.3.3.jar /lib/jcalendar/lo oks-2.0.1.jar lib/toplink/toplink-essentials.jar lib/toplink/toplink- essentials-agent.jar Created-By: 1.6.0_0 (Sun Microsystems Inc.) Main-Class: MiClaseMain
Al ejecutar nuevamente
jar -cfm programa.jar Manifest.txt
se creó el jar sin ningún problema

1 comentario:

Anónimo dijo...

Gracias!! andaba con el mismo problema..