WSDL2JAVA - NoClassDefFound Error?

13 respostas
Tiago_Farias

Ae galera!

Jah adicionei todas as bibliotecas do axis 1.4 no meu projeto. Quando eu vou pra o prompt de comando, chego a raiz do projeto e digito:

java org.apache.axis.wsdl.WSDL2Java meuWS.wsdl

eu vejo o erro: Exception in thread main java.lang.NoClassDefFoundError: org\apache\axis\wsdl

WSDL2Java

Caused by: java.lang.ClassNotFoundException: org\apache\axis\wsdl\WSDL2Java

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)

Como se a classe binária WSDL2Java n tivesse sendo encontrada, mas ela tah lah no axis-1.4.jar!

Alguém sabe oq eu tow deixando passar?

13 Respostas

furutani

Por que voce não cria um bat para rodar WSDL2Java fica mais facil
Nesse bat você constroi o classpath e roda o comando java para gerar as classes

Tiago_Farias

Isso não eh mais complicado não?

furutani

Eu acho que não, pelo menos no meu caso onde só preciso ter as classes geradas apartir do WSDL é muito melhor.
Se não me engano tem uma task do ant que também faz isso.

Tiago_Farias

Hummm… no caso a estrutura do .bat seria assim:

set AXIS_HOME=D:\tiago.silva\axis set AXIS_LIB =%AXIS_HOME%\lib

com o AXIS_HOME sendo o classpath?

furutani

Seria isso mesmo so que no AXIS_LIB vc concatena todos os jars que o WSDL2Java precisa.

Tiago_Farias

Vc falando faz sentido. Mas não sei exatamente como concatenar… =/

Me dah um exemplo por favor.

furutani
Os jars não são do Axis mas sim da Oracle. Substitua conforme sua necessidade.
@echo off 

set AXIS_HOME=D:\tiago.silva\axis  
set AXIS_LIB =%AXIS_HOME%\lib\wsdl.jar;
set AXIS_LIB =%AXIS_HOME%\lib\orawsmetadata.jar;
set AXIS_LIB =%AXIS_HOME%\lib\xsdlib.jar;
set AXIS_LIB =%AXIS_HOME%\lib\jws-api-10.1.3.jar;

java -classpath %AXIS_LIB% org.apache.axis.wsdl.WSDL2Java meuWS.wsdl
Tiago_Farias

Engraçado… antes ele dava “NoClassDefFound Error: WSDL2Java” e agora tah dando “NoClassDefFound Error: habita/wsdl”.

furutani

Ele gerou alguma coisa
O que é esse habita?

Tiago_Farias

Gerou não… ele deu esse erro agora. O habita.wsdl eh justamente o arquivo wsdl q eu transformar classe.

Tiago_Farias

“Cause by: ClassNotFoundException: habita.wsdl” Ele não encontra esse arquivo wsdl q tah dentro do projeto?

furutani

Coloca esse habita.wsdl no diretorio D:\tiago.silva\axis

Tiago_Farias

Jah estava lá. Ainda não é encontrado. =/ No stack ele dá: “NoClassDefFound Error: habita/wsdl” o que é bastante esquisito pq (1) ele não reconhece o ponto, convertendo-o em barra, e (2) diz q uma classe não foi encontrada, quando na verdade ele devia esperar um arquivo.

Criado 8 de dezembro de 2008
Ultima resposta 9 de dez. de 2008
Respostas 13
Participantes 2