Problemas al generar .bat con librerías externas

Hoa hice una aplicación en eclipse que maneja librerías de jgoodies pero ahora quiera generar un .bat lo hice así
@echo off
Pause
Echo Compilando aplicación...
IF NOT EXIST bin. (mkdir bin.)
set classpath = %classpath%;C:\workspace\x\src\librerias\forms-1.3.0pre4.jar;C:\workspace\x\src\librerias\looks-2.2.1.jar.jar;
javac -cp . -d .\bin src\articulos\*.java src\exceptions\*.java src\files\*.java src\gestores\*.java src\interfaz\*.java src\listener\*.java src\usuarios\*.java
pause
java -cp .\bin interfaz.Login
pause
pero al momento de compilar me marca error en las lineas que maneja la libreria de jgoodies de antemano gracias por la ayuda

1 respuesta

Respuesta
1
Me parece que te falta incluir alguno de los JAR de Jgoodies en el classpath (de la misma manera que estás incluyendo el forms-1.3.0pre4.jar o el looks-2.2.1.jar.jar)
Tienes que ver cual es el error que te marca. Si te marca que no encuentra alguna clase, asegúrate de que tienes todas las librerías necesarias. Ponme el error aquí si ves que no le encuentras explicación.
Hola gracias por responder mira estos son los errores al momento de que empieza a compilar eso me sale para cada archivo que contiene jgoodies
segun yo he agregado todos las librerias q se ocupan pero me sigue marcando error
src\gestores\GestorImage.java:14: package com.jgoodies.forms.builder does not ex
ist
import com.jgoodies.forms.builder.PanelBuilder;
^
src\gestores\GestorImage.java:15: package com.jgoodies.forms.layout does not exi
st
import com.jgoodies.forms.layout.CellConstraints;
^
src\gestores\GestorImage.java:16: package com.jgoodies.forms.layout does not exi
st
import com.jgoodies.forms.layout.FormLayout;
^
src\interfaz\Admon.java:11: package com.jgoodies.forms.builder does not exist
import com.jgoodies.forms.builder.PanelBuilder;
^
src\interfaz\Admon.java:12: package com.jgoodies.forms.factories does not exist
import com.jgoodies.forms.factories.ButtonBarFactory;
^
src\interfaz\Admon.java:13: package com.jgoodies.forms.layout does not exist
import com.jgoodies.forms.layout.CellConstraints;
^
src\interfaz\Admon.java:14: package com.jgoodies.forms.layout does not exist
import com.jgoodies.forms.layout.FormLayout;
^
src\interfaz\Login.java:14: package com.jgoodies.forms.builder does not exist
import com.jgoodies.forms.builder.PanelBuilder;
^
src\interfaz\Login.java:15: package com.jgoodies.forms.factories does not exist
import com.jgoodies.forms.factories.ButtonBarFactory;
^
src\interfaz\Login.java:16: package com.jgoodies.forms.layout does not exist
import com.jgoodies.forms.layout.CellConstraints;
^
src\interfaz\Login.java:17: package com.jgoodies.forms.layout does not exist
import com.jgoodies.forms.layout.FormLayout;
^
src\interfaz\Principal.java:14: package com.jgoodies.forms.builder does not exis
t
import com.jgoodies.forms.builder.PanelBuilder;
^
src\interfaz\Principal.java:15: package com.jgoodies.forms.layout does not exist
import com.jgoodies.forms.layout.CellConstraints;
^
src\interfaz\Principal.java:16: package com.jgoodies.forms.layout does not exist
import com.jgoodies.forms.layout.FormLayout;
^
src\interfaz\Registro.java:15: package com.jgoodies.forms.builder does not exist
import com.jgoodies.forms.builder.PanelBuilder;
^
src\interfaz\Registro.java:16: package com.jgoodies.forms.factories does not exi
st
import com.jgoodies.forms.factories.ButtonBarFactory;
^
src\interfaz\Registro.java:17: package com.jgoodies.forms.layout does not exist
import
gracias por la ayuda
Cambia la linea del "javac" por esta y dime el resultado:
javac -d .\bin src\articulos\*.java src\exceptions\*.java src\files\*.java src\gestores\*.java src\interfaz\*.java src\listener
Hola he cambiado la linea y me muestra lo siguiente
javac: invalid flag: src\listener
usage: javac <options> <source files>
use -help for a list of possible options
Hola perdón agregue mal la linea la corregí y me siguen saliendo los mismo errores de lo de jgoodies
Prueba esta:
javac -classpath C:\workspace\x\src\librerias\forms-1.3.0pre4.jar;C:\workspace\x\src\librerias\looks-2.2.1.jar.jar; -d .\bin src\articulos\*.java src\exceptions\*.java src\files\*.java src\gestores\*.java src\interfaz\*.java src\listener\*.java
¿Cómo estás intentando ejecutarlo?
Creo que debe ser algo así (si estás en el directorio padre del bin):
java bin.clase_principal (sin .class)

Si estás en el directorio bin, directamente:
java clase_principal (sin .class)
Lo ejecuto así:
java .\bin interfaz.Login
Donde interfaz es el paquete en el que se encuentra el main que es Login
El paquete esta dentro de bin
Está mal de esa manera. Así intenta ejecutar una clase que se llame ".\bin"
Prueba:
java .\bin\interfaz.Login
O dentro de bin:
java interfaz. Login
Cambie la linea a java .\bin\interfaz.Login  como m dijiste pero me marca lo siguiente :
Exception in thread "main" java.lang.NoClassDefFoundError: /\bin\interfaz/Login
Caused by: java.lang.ClassNotFoundException: .\bin\interfaz.Login
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
Could not find the main class: .\bin\interfaz.Login. Program will exit.
Pon esto:
cd bin
java interfaz. Login
O esto:
./bin/java interfaz.Login
Puse
cd bin
java interfaz.login y me muestra lo siguente.
Exception in thread "main" java.lang.NoClassDefFoundError: com/jgoodies/forms/la
yout/FormLayout
at interfaz.Login.<init>(Login.java:88)
at interfaz.Login.main(Login.java:117)
Caused by: java.lang.ClassNotFoundException: com.jgoodies.forms.layout.FormLayou
t
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
... 2 more
Probé la otra opción y tampoco
Usa esto:
cd bin
java -classpath C:\workspace\x\src\librerias\forms-1.3.0pre4.jar;C:\workspace\x\src\librerias\looks-2.2.1.jar.jar; interfaz.login
Por alguna razón el "set classpath" del bat no está funcionando bien. Por eso has tenido que indicarle los jar al "javac", y ahora al "java".
Hola le agregue el -cp y si funciona pero le tengo que indicar toda la ruta de donde se encuentra los .jar
C:\workspace\x\src\librerias\forms-1.3.0pre4.jar;C:\workspace\x\src\librerias\looks-2.2.1.jar;
Después le cambie por esta linea y me marco los mismos errores
.src\librerias\forms-1.3.0pre4.jar;.\src\librerias\looks-2.2.1.jar.jar;
Como puedo hacer para que funcione sin indicarle la ruta especifica en donde se encuentran los .jar
muchísimas gracias por tu ayuda
La ruta de los jar se puede indicar en la variable del sistema CLASSPATH (la que se da valor con el set, pero parece que no te está funcionando) o con el parámetro que hemos visto para el propio javac. Después solo hay otra solución, meter los jar en esta carpeta:
"ruta a tu JDK o JRE"/lib/ext
Ahí el compilador buscará siempre jar's para compilar.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas