Problemas con jar

Miguel21
13 de Enero del 2005
He hecho un trabajo con varias clases y por alguna extraña razon al crear el archivo .jar y luego ejecutarlo me sale:
ClassNotFoundException: Ventana
Los .jar los hago bien porque en otros trabajos me funciona.Y creo que mi problema consiste en que mi Main.class no encuentra a la clase que llama que es la Ventana.class.Tambien me he dado cuenta de que al compilar las clases java me salen Main.class Parte.class xo en Ventana me salen muchisimas Ventana.class Ventana$1.class ... Ventana$27.class y aparte solo se ejecuta en el programa que uso "netbeans" al ejecutarlo por comandos no me funciona.Alguien sabe que ocurre?? Muchas gracias

Carlos
13 de Enero del 2005
Tiene razon Tigre, aunque tu hayas compilado en NetBeans y funciones, cuando creas el jar con jar.exe, tienes antes que haber compilado otra vez todo con javac. En el fichero manifest de tu jar tienes que indicar la clase principal y no olvides que tienes que dejar una linea en blanco en el fichero manifest.

Espero que te sea de ayuda.

Miguel21
13 de Enero del 2005
Si teneis razon, me acabo de dar cuenta que al compilar con el javac (que nunca lo habia hecho) me da un error y es que no reconoce la clase JFrame ya que he hecho que que mi clase ventana herede de JFrame, ¿cual es el fallo, tengo que indicarle algo?¿podría ser que tenga que indicarle algo sobre donde estan las librerias o algo asi? y que es lo dejar una linea en blanco porque en los otros no lo hago y funciona.

Tigre Negro
13 de Enero del 2005
Desde NetBeans puedes compilar el archivo jarContent que es el que genera, cuando compilas te da el JAR. Compilalo desde el NetBeans para que no tengas la bronca de no estar utilizando el javac correcto.
En el manifiesto tienes que poner
Main-Class: ClaseMain

Acabando ClaseMain va un salto de linea, es alo que se refieres Carlos con una linea en blanco, pero el archivo maniesto lo tienes correcto sino te hubiera sacado un error cuando ejecutas el JAR de que no encuentra la clase main.

Saludos

Carlos
13 de Enero del 2005
Hombre no tienes que indicarle donde esta la libreria javax.swing.JFrame, pero si tienes otras librerias si que debes indicar al compilador donde estan.

Ejemplo: (Estoy en un directorio anterior a tu paquete, si es que lo tienes, y sino te recomiendo que empaquetes tu aplicacion). Los paquetes (librerias) estan en c:librerias.

javac -verbose -classpath c:librerias; -extdirs c:librerias; MiPaquete*.java

Carlos
13 de Enero del 2005
Tambien te digo que tengas cuidado con que javac.exe estas compilando la aplicacion, a lo mejor no es el correcto, me explico, puedes que estes compilando con la maquina virtual que viene con XP y que no es la version que utiliza netbeans. Mira el path de XP haber si la maquina virtual de netbeans esta incluida en ese path.

Tigre Negro
13 de Enero del 2005
Checa que en el JAR estes metiendo la clase de ventana, cuando haces el JAR en NetBeans para que genere el *.jar antes compila todo pero dentro del JAR, a lo mejor se te esta pasando ese detalle

Saludos