| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/05/2004 12:59:06
|
escordeiro
Java Ninja
Membro desde: 20/08/2003 09:31:08
Mensagens: 257
Localização: Belo Horizonte
Offline
|
Olás pessoal,
estou com uma aplicação simples em RMI que roda toda somente na máquina local. A estrutura de pacotes é a seguinte (não é bem código mas só assim sai identado):
O projeto está na raiz TopologiaRMI. Minha interface remota (NodoRede) e a classe remota (NodoRedeImpl) estão em topologia.rmi. A classe main se chama TopologiaRMI e está no pacote topologia.
Eu compilo as classes todas, e, em seguida, rodo o rmic. Tudo beleza, ele gera o stub e o skeleton no pacote topologia.rmi.
O problema é que, quando rodo a aplicação e a chamada Naming.rebind é feita, obtenho a exceção ClassNotFoundException tanto no stub quanto no skeleton. O que pode estar errado?
[]'s
|
Flickr |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/05/2004 23:20:14
|
escordeiro
Java Ninja
Membro desde: 20/08/2003 09:31:08
Mensagens: 257
Localização: Belo Horizonte
Offline
|
Ou o pessoal do fórum GUJ está me boicotando ou meus posts são realmente cabeludos
O problema é o seguinte: o rmiregistry, naturalmente, usa o stub e o skeleton gerados sobre a classe remota. Por isso, na hora de rodar o rmiregistry, o working directory deve ser o mesmo da aplicação e o classpath deve estar devidamente configurado.
No Eclipse, é só, no Run/External Tools colocar o Working Directory pro diretório dos executáveis da aplicação e mandar setar a variável de ambiente CLASSPATH para o direitório atual (e possíveis outros paths que a aplicação precisar). Na linha de comando, o rmiregistry deve ser rodado no diretório dos executáveis da aplicação (/bin, no caso), também com o classpath já setado.
[]'s
|
Flickr |
|
|
 |
|
|
|
|