Foros del Web » Programación para mayores de 30 ;) » Java »

[SOLUCIONADO] Problema con generación de archivo .jar

Estas en el tema de Problema con generación de archivo .jar en el foro de Java en Foros del Web. Buenas noches. Les escribo para comentarles un inconveniente que tengo con una aplicación de escritorio que estoy desarrollando en NetBeans. El tema es el siguiente: ...
  #1 (permalink)  
Antiguo 03/06/2013, 21:38
 
Fecha de Ingreso: diciembre-2012
Mensajes: 7
Antigüedad: 11 años, 4 meses
Puntos: 0
Problema con generación de archivo .jar

Buenas noches.

Les escribo para comentarles un inconveniente que tengo con una aplicación de escritorio que estoy desarrollando en NetBeans. El tema es el siguiente: ya terminé el desarrollo de la aplicación y funciona sin ninguna novedad desde el IDE, sin embargo, cuando quiero crear el .jar para poder ejecutar la ejecución sin necesidad el NetBeans, no me funciona.

Cuando le doy la opción de limpiar y construir (clean and build) en el NetBeans, el IDE me crea la carpeta build y dentro de esta la carpeta classes, e internamente me crea los paquetes tal cual los he definido, sin embargo, se supone que al interior deberían estar los .class de las clases que conforman cada paquete, pero no es así. Sin embargo, el IDE indica que terminó todo bien.

Lo que me arroja el NetBeans al construir el .jar es lo siguiente:

init:
deps-clean:
Updating property file: C:\Jerson\Java\Proyectos\CarsInsurer\build\built-clean.properties
Deleting directory C:\Jerson\Java\Proyectos\CarsInsurer\build
clean:
init:
deps-jar:
Created dir: C:\Jerson\Java\Proyectos\CarsInsurer\build
Updating property file: C:\Jerson\Java\Proyectos\CarsInsurer\build\built-jar.properties
Created dir: C:\Jerson\Java\Proyectos\CarsInsurer\build\classes
Created dir: C:\Jerson\Java\Proyectos\CarsInsurer\build\classes \META-INF
Copying 1 file to C:\Jerson\Java\Proyectos\CarsInsurer\build\classes \META-INF
Created dir: C:\Jerson\Java\Proyectos\CarsInsurer\build\empty
Created dir: C:\Jerson\Java\Proyectos\CarsInsurer\build\generat ed-sources\ap-source-output
Compiling 59 source files to C:\Jerson\Java\Proyectos\CarsInsurer\build\classes
Copying 43 files to C:\Jerson\Java\Proyectos\CarsInsurer\build\classes
Copied 24 empty directories to 16 empty directories under C:\Jerson\Java\Proyectos\CarsInsurer\build\classes
compile:
Created dir: C:\Jerson\Java\Proyectos\CarsInsurer\dist
Copying 1 file to C:\Jerson\Java\Proyectos\CarsInsurer\build
Copy libraries to C:\Jerson\Java\Proyectos\CarsInsurer\dist\lib.
Building jar: C:\Jerson\Java\Proyectos\CarsInsurer\dist\CarsInsu rer.jar
To run this application from the command line without Ant, try:
java -jar "C:\Jerson\Java\Proyectos\CarsInsurer\dist\CarsIns urer.jar"
jar:
BUILD SUCCESSFUL (total time: 1 second)

Pero cuando voy a ejecutar el comando java -jar "C:\Jerson\Java\Proyectos\CarsInsurer\dist\CarsIns urer.jar" aparece lo siguiente:

Error: no se ha encontrado o cargado la clase principal vista.Principal

Ahora bien, este proceso tampoco me crea el archivo MANIFEST.TM, por lo que lo creé manualmente, dejándolo de la siguiente forma (incluye la línea en blanco al final y está dentro del directorio META-INF:

Manifest-Version: 1.0
Main-Class: vista.Principal

La clase vista.Principal es aquella que tiene el main. No se qué más me falta por hacer, si alguien puede orientarme, muchas gracias.

Saludos.
  #2 (permalink)  
Antiguo 03/06/2013, 21:41
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: Problema con generación de archivo .jar

Dice que no existe vista.Principal. Abre el jar con winzip/winrar o similar y verifica que dentro hay un directorio vista y que dentro de él tiene una clase Principal.class. Son imortantes mayúsculasy minúsculas tanto en el directorio como en el nombre de la clase.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 04/06/2013, 07:15
 
Fecha de Ingreso: diciembre-2012
Mensajes: 7
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: Problema con generación de archivo .jar

Buen día Chuidiang.

Primero que todo, gracias por responder. Ya he hecho lo que comentas, y no queda ningún .class dentro del archivo jar. El tema es que no se porque el NetBeans cuando limpia (clean) y construye (build) el .jar, no genera los .class y por ende, el .jar no queda con estos archivos.

Si te fijas en el resultado del NetBeans al limpiar y constuir el .jar, verás esta línea: Copied 24 empty directories to 16 empty directories under C:\Jerson\Java\Proyectos\CarsInsurer\build\classes

No se si es un tema de configuración del proyecto como tal en el IDE lo cual hace que este error aparezca.

Te agradecería inmensamente si puedes ayudarme a solucionar este inconveniente.


Saludos.
  #4 (permalink)  
Antiguo 04/06/2013, 12:20
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años
Puntos: 306
Respuesta: Problema con generación de archivo .jar

Mírate esto

https://netbeans.org/bugzilla/show_bug.cgi?id=209697

o esto

http://stackoverflow.com/questions/5...ty-directories
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #5 (permalink)  
Antiguo 05/06/2013, 16:13
 
Fecha de Ingreso: diciembre-2012
Mensajes: 7
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: Problema con generación de archivo .jar

Hola a todos.

Ya pude solucionar el inconveniente que tenía. La solución digamos que fue algo "artesanal", pero efectiva 100%. Voy a poner aquí por pasos lo que hice por si a alguien más se le presenta el mismo inconveniente.

1. Ejecuté el clean and build en el NetBeans, esto lo hice para que se creara la carpeta dist con su subcarpeta lib la cual contiene todos los *.jar que utilicé en el proyecto.

2. Del archivo proyecto.jar generado en el punto ( 1 ), tomé el contenido archivo MANIFEST.TM (se debe abrir con WinRar o WinZip) y lo pasé a un archivo de texto llamado manifest.txt el cual lo guardé en la ruta /proyecto/build/classes.

3. Me ubiqué por DOS (cmd) en el directorio /proyecto/build/classes, que es el directorio que contiene los archivos .class de toda la aplicación de todos los paquetes existentes, (debemos asegurarnos de que evidentemente los archivos .class estén allí, si no los tienen, corran la aplicación desde NetBeans para que éste los cree).

4. Una vez en esta ruta, ejecuté el comando jar cfm proyecto.jar manifest.txt *. Este comando lo que hace es crear el archivo proyecto.jar y dentro de éste, crea el archivo META-INF/MANIFEST.TM con la información que tenga el archivo manifest.txt enviado por parámetro en la instrucción. El asterisco significa que en el archivo proyecto.jar queden incluidos todos los archivos que se encuentren desde el directorio que estoy en adelante (recursividad).

5. Una vez creado el archivo jar, lo muevo a la ruta del punto ( 1 ) para que la ejecución funcione, pues en este ruta es donde está la carpeta lib con las librerías del proyecto.


Saludos.
  #6 (permalink)  
Antiguo 26/06/2013, 16:35
 
Fecha de Ingreso: junio-2013
Ubicación: asd
Mensajes: 1
Antigüedad: 10 años, 10 meses
Puntos: 0
Respuesta: Problema con generación de archivo .jar

Cita:
Iniciado por jblanco Ver Mensaje
Hola a todos.

Ya pude solucionar el inconveniente que tenía. La solución digamos que fue algo "artesanal", pero efectiva 100%. Voy a poner aquí por pasos lo que hice por si a alguien más se le presenta el mismo inconveniente.

1. Ejecuté el clean and build en el NetBeans, esto lo hice para que se creara la carpeta dist con su subcarpeta lib la cual contiene todos los *.jar que utilicé en el proyecto.

2. Del archivo proyecto.jar generado en el punto ( 1 ), tomé el contenido archivo MANIFEST.TM (se debe abrir con WinRar o WinZip) y lo pasé a un archivo de texto llamado manifest.txt el cual lo guardé en la ruta /proyecto/build/classes.

3. Me ubiqué por DOS (cmd) en el directorio /proyecto/build/classes, que es el directorio que contiene los archivos .class de toda la aplicación de todos los paquetes existentes, (debemos asegurarnos de que evidentemente los archivos .class estén allí, si no los tienen, corran la aplicación desde NetBeans para que éste los cree).

4. Una vez en esta ruta, ejecuté el comando jar cfm proyecto.jar manifest.txt *. Este comando lo que hace es crear el archivo proyecto.jar y dentro de éste, crea el archivo META-INF/MANIFEST.TM con la información que tenga el archivo manifest.txt enviado por parámetro en la instrucción. El asterisco significa que en el archivo proyecto.jar queden incluidos todos los archivos que se encuentren desde el directorio que estoy en adelante (recursividad).

5. Una vez creado el archivo jar, lo muevo a la ruta del punto ( 1 ) para que la ejecución funcione, pues en este ruta es donde está la carpeta lib con las librerías del proyecto.


Saludos.

Amigo tu en el comando dentro del cmd tenias que escribir java no?... otra duda, tengo el mismo problema, pero en el cmd me dice que no consigue "en mi caso" Principal.jar.... mira esta es mi direccion donde tengo todo el proyecto.
F:\Java_Interfaz\Principal\build\classes

Alli dentro tengo 4 paquetes, que son Reportes, Imagenes, Libs y principal "este contiene todas las .class", y alli coloque el manifest.txt que lo copie al abrir el Principal.jar con winrar... ahora, me ubico dentro de esa direccion en el DOS, pero al ejecutar el comando me dice "no se ha encontrado o cargado la clase principal jar"... logre generar el clean and build del proyecto por el mismo netbeans, pero al ejecutarlo me salen algunos JFrames incompletos, asi como varias codigos que pareciera que no los guardo bien, "ejemplo setear no visible un jFrame al abrir otro etc.." cosas asi. Porfavor si sabes como resolver mi problema te lo agradeceria, ando loco buscando una solucion

EDITO

Aca dejo lo que me genera el clean & build de netbeans.

ant -f F:\\Java_Interfaz\\Principal clean jar
init:
Deleting: F:\Java_Interfaz\Principal\build\built-clean.properties
deps-clean:
Updating property file: F:\Java_Interfaz\Principal\build\built-clean.properties
Deleting directory F:\Java_Interfaz\Principal\build
clean:
init:
deps-jar:
Created dir: F:\Java_Interfaz\Principal\build
Updating property file: F:\Java_Interfaz\Principal\build\built-jar.properties
Created dir: F:\Java_Interfaz\Principal\build\classes
Created dir: F:\Java_Interfaz\Principal\build\empty
Created dir: F:\Java_Interfaz\Principal\build\generated-sources\ap-source-output
Compiling 11 source files to F:\Java_Interfaz\Principal\build\classes
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
Copying 123 files to F:\Java_Interfaz\Principal\build\classes
compile:
Created dir: F:\Java_Interfaz\Principal\dist
Copying 1 file to F:\Java_Interfaz\Principal\build
Copy libraries to F:\Java_Interfaz\Principal\dist\lib.
Building jar: F:\Java_Interfaz\Principal\dist\Principal.jar
To run this application from the command line without Ant, try:
java -jar "F:\Java_Interfaz\Principal\dist\Principal.jar "
jar:
BUILD SUCCESSFUL (total time: 1 minute 9 seconds)

Última edición por Tecnell; 26/06/2013 a las 16:50 Razón: Falta de datos.

Etiquetas: clase, jar, netbeans
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:36.