Como crear un paquete jar?

Iniciado por klaine, 31 Diciembre 2010, 02:05 AM

0 Miembros y 1 Visitante están viendo este tema.

klaine

Hola vi en el faq como hacer un paquete en java, hice mi manifest así:

Manifest-Version: 1.0
Ant-Version: 1.0
Created-By: xxxx
Extension-Name: avg.class
Specification-Title: lib
Implementation-Title: lib
Implementation-Vendor: xxxx
Implementation-Version: 1.0
Implementation-Vendor-Id: .
X-Compile-Source-JDK: 1.5
X-Compile-Target-JDK: 1.5

En todo caso lo que yo quiero hacer es un autoejecutable, intenté esto pero no creo que es lo que me serviría, y viendo tutoriales por ahí traté de hacerlo con comandos, bueno he visto en un par de post por ahí buscando en google y he intentado lo siguiente:

Código (dos) [Seleccionar]

jar -cvf test.jar avg.class


también esto:

Código (dos) [Seleccionar]

jar -cmf Manifest.txt F_tets.jar Main.class


Un par de veces me lanzaba una excepcón que ya no recuerdo que decía, así que opté por modificar el nombre a Main.class, no se si eso influye...

Opté por modificar el manifest por esto según vi por ahí en la inet:


Main-Class: Main



Antes por supuesto decía


Main-Class: avg


Con doble click no se abre el .jar, con abrir > Java (TM) Platform SE Binary tampoko
con

Código (dos) [Seleccionar]

java -jar test.jar     ni con       java -jar Main.jar


De verdad que esto me supera, que estoy haciendo mal?

De antemano gracias  ;)

Edito:

este es el error:

Código (dos) [Seleccionar]

C:\Documents and Settings\usolibre\Escritorio>jar -cfm test.jar Main.class Manif
est.txt >> error.txt
java.io.IOException: invalid header field
       at java.util.jar.Attributes.read(Attributes.java:389)
       at java.util.jar.Manifest.read(Manifest.java:167)
       at java.util.jar.Manifest.<init>(Manifest.java:52)
       at sun.tools.jar.Main.run(Main.java:123)
       at sun.tools.jar.Main.main(Main.java:903)

C:\Documents and Settings\usolibre\Escritorio>



klaine

Mi duda pasa por que los IDEs hacen un archivo .jar que se ejecuta al simplemente hacer doble click sobre el archivo, ¿es posible hacer eso manualmente?

Gracias por responder  :)

klaine

Ok, después de pensar un poko descomprimí el .jar que se me creaba por defecto, al abrir el manifest me di cuenta que estaba solo esto:

Cita de: manifest

Manifest-Version: 1.0
Created-By: 1.5.0_22 (Sun Microsystems Inc.)


así que sólo opté por agregar esta última línea y volver a comprimir, esta vez lo comprimí en .zip y lo pasé a mano a .jar  :P



Main-Class: avg



Código (dos) [Seleccionar]


set a="ruta.zip"

copy %a% %a%.jar





Está bastante interesante eso de convertir codigo java a codigo C, muchas gracias por prestarme atención a pesar de preguntar algo tan básico para ustedes, gracias de nuevo y que tengan felices fiestas.

;)