[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



Olá,

fiz como você havia dito. Os erros mudaram um pouco, mas ainda continuo tomando
erros na compilação:

output\client\java\lang\StackTraceElementDefaultFactory.java [15] cannot resolve
symbol
symbol  : class StackTraceElementImpl 
location: class java.lang.StackTraceElementDefaultFactory
    return is.read_value(new StackTraceElementImpl ());
                             ^
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\_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 ());
                             ^
5 errors
build.xml [74] Compile failed; see the compiler error output for details.
BUILD FAILED
Total time: 28 seconds


[ ]'s

Citando Francisco Reverbel <reverbel@ime.usp.br>:

> 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
> > 
> > 
> 
> 


--
Emilio de Camargo Francesquini