Corriendo Java

Diego Chester
25 de Julio del 2003
Hola:
Mi problema es el siguiente, compilo una class que yo cree, usando archivos *.jar de axis, el tema es que si les pongo el path a las librerias me compila sin problemas. Cuando corro el programa se para en una linea donde inicializo una class de la libreria, pero mi pregunta es: si compila porque no corre despues??? por favor necesito urgente la respuesta, de esto depende mi trabajo y la verdad no es mi intencion perderlo...

les paso las lines de comandos que uso:
C:JBuilder8jdk1.4bin>javac -classpath jaxrpc.jar;axis.jar Prueba.java

C:JBuilder8jdk1.4bin>java Prueba

Using https to connect to 200.2.12.32 on port #9443
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/axis/client/Service at Prueba.main(Prueba.java:46)


Evidentemente se habran dado cuenta que el programa empieza a correr y luego salta una excepcion....Si esto lo corro en el JBuilder no pasa, me podrian ayudar, por favor!!!!!!!

DAGGER
25 de Julio del 2003
especifica el classpath al correr la VM, incorporando en el mismo a los jar.
Para ello usa las opciones -cp o -classpath

ej

java -cp [en este lugar especifica los jar] Prueba


Chester Diego
25 de Julio del 2003
Lo hice, pero me tira este error:

C:JBuilder8jdk1.4bin>java -cp c:axisaxis.jar;c:axisjaxrpc.jar Prueba
Exception in thread "main" java.lang.NoClassDefFoundError: Prueba

chuidiang
25 de Julio del 2003
Supongo que al correr el jbuilder de alguna forma te indica en algun sitio la linea de comandos completa, con los classpath. A ver si puedes echarle un ojo.

JBuilder añade seguramente muchos classpath que tu conscientemente no sabes. Quizas te falte alguno.

Veo que lo que no te encuentra es precisamente la clase principal Prueba. Asegurate de que dentro de esta clase no has puesto package (dentro del codigo de Prueba.java) y que Prueba.class esta en el directorio en el que estas ejecutando java.

Si has puesto package, te aconsejo que eches un ojo en mi página www.geocities.com/chuidiang a un apartado que pone classpaths, pakages y jar.

Se bueno.

hector
25 de Julio del 2003
El programa le compila y luego no le corre por que a diferencia de los lenguajes estructurados, un 'bytecode' java sólo tiene la referencia de las clases de las cuales depende (no concatena bytecodes como C, lo que obligaba a recompilar todo en caso de cualquier cambio), por lo que la ejecución depende de la variable CLASSPATH, que es la que indica a la JVM dónde puede buscar las clases cuando las necesite. En el segundo error que le salio, que le dice que no encuentra la propia clase 'Prueba', es por que el CLASSPATH también debe tener la ruta local, por ejemplo, desde una consola DOS:

set CLASSPATH=.;c:libreria.jar

y luego

java Prueba