[Prévia] [Próxima] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico]
[Índice de assunto]
Re: Erro compilando os .java gerados a partir da IDL
- Subject: Re: Erro compilando os .java gerados a partir da IDL
- From: Francisco Reverbel <reverbel@xxxxxxxxxx>
- Date: Thu, 30 Oct 2003 23:30:09 -0200 (EDT)
Oi Emílio,
Droga, eu tinha me esquecido desse problema! :-(
Você está usando o JDK 1.4.x, certo? Então a receita abaixo deve
funcionar. Se não estiver usando JDK 1.4.x, pare de ler por aqui
mesmo, que a minha sugestão não vai ajudar você em nada.
Primeiro delete todos os arquivos java gerados a partir dos arquivos
IDL. (Não delete os arquivos IDL gerados pelo rmic.) Depois pegue os
três arquivos IDL que eu deixei no diretório
http://www.ime.usp.br/~reverbel/SMA/trabalhos/ep2/jdk1.4-Throwable/
Copie o arquivo Throwable.idl desse diretório para cima do Throwable.idl
que o rmic gerou no seu subdiretório java/lang. Copie também para o seu
subdiretório java/lang o arquivo StackTraceElement.idl. Finalmente,
copie o arquivo seq1_StackTraceElement.idl para o seu subdiretório
org/omg/boxedRMI/java/lang/ (crie tal subdiretório, caso você ainda não
o tenha).
Agora compile todos os IDLs com o idlj e compile os arquivos java.
Desta vez a compilação deve ser bem sucedida. (Mas se não for, é bola
fora minha mesmo...)
Depois que tudo funcionar eu explico o porquê da receita de bolo.
Boa sorte,
Reverbel
On Thu, 30 Oct 2003, Emilio de Camargo Francesquini wrote:
> Olá!
>
> O que acontece é o seguinte: criei um EJB bem besta para testar a invocação
> através de IIOP e tentar colocar alguns interceptadores. Criei o EJB da maneira
> usual, compilei as suas classes e gerei as suas IDL's e usando os comandos
> sugeridos pelo Reverbel (abaixo):
>
> > rmic -classpath ... -idl -noValueMethods InterfRemotaDoEJB
> > rmic -classpath ... -idl -noValueMethods InterfHomeDoEJB
>
> Como esperado foi gerado um monte de arquivos, entre eles:
>
> java.lang
> Ex.idl
> Exception.idl
> Throwable.idl
> Object.idl
> ThrowableEx.idl
> javax.ejb
> CreateEx.idl
> CreateException.idl
> ...
> testes.ejb (o package do meu EJB de teste)
> TesteHome.idl
> Teste.idl
>
> Pois bem, mandei compilar as idls com o idlj e foram gerados os .java. Até ai
> sem problemas. (a propósito, como faço, no ant, pra compilar um monte de idls
> com o idlj sem escrever um monte de <exec executable="idlj"....?)
>
> O problema ocorre quando vou compilar esses .java gerados. Eles referenciam
> algumas classes que eu não encontrei em local algum. Vejam alguns dos erros:
>
> output\client\java\lang\ThrowableDefaultFactory.java [15] cannot resolve symbol
> symbol : class ThrowableImpl
> location: class java.lang.ThrowableDefaultFactory
> return is.read_value(new ThrowableImpl ());
> ^
> output\client\java\lang\_Exception.java [23] cannot resolve symbol
> symbol : method _read (org.omg.CORBA.portable.InputStream)
> location: class java.lang.Throwable
> super._read (istream);
> ^
> output\client\java\lang\_Exception.java [28] cannot resolve symbol
> symbol : method _write (org.omg.CORBA.portable.OutputStream)
> location: class java.lang.Throwable
> super._write (ostream);
> ^
> output\client\java\lang\_ExceptionDefaultFactory.java [15] cannot resolve symbol
> symbol : class _ExceptionImpl
> location: class java.lang._ExceptionDefaultFactory
> return is.read_value(new _ExceptionImpl ());
> ^
> output\client\javax\ejb\CreateExceptionDefaultFactory.java [15] cannot resolve
> symbol
> symbol : class CreateExceptionImpl
> location: class javax.ejb.CreateExceptionDefaultFactory
> return is.read_value(new CreateExceptionImpl ());
> ^
> output\client\javax\ejb\RemoveExceptionDefaultFactory.java [15] cannot resolve
> symbol
> symbol : class RemoveExceptionImpl
> location: class javax.ejb.RemoveExceptionDefaultFactory
> return is.read_value(new RemoveExceptionImpl ());
> ^
> testes\cliente\ClienteTeste.java [22] cannot resolve symbol
> symbol : method getHomeInterfaceClass ()
> location: interface javax.ejb.EJBMetaData
> Class homeInterfaceClass = ejbMetaData.getHomeInterfaceClass();
> ^
> 7 errors
>
>
> Alguém tem alguma idéia do que pode estar ocorrendo?
>
>
> [ ]'s
>
> --
> Emilio de Camargo Francesquini
>
>