Problema com RMI na hora de criar o stub em classes que estão dentro de algum package

Entrando no Embalo, estou com uma dúvida cruel!

Eu criei todos os arquivos como fala no tutorial que tem aqui no guj e joguei dentro de uma pasta no c:, desta maneira funcionou legal o exemplo do tutorial.

Agora, se eu pego e crio essas classes dentro de um projeto no netbeans dentro de algum pacote, o rmic não consegue encontrar a classe e dá os seguintes erros:

error 1: .\MensageiroImp.class does not contain type MensageiroImp as expceted, but type com.testes.rmi.MensageiroImp. Please remove the file, ou make sure it appears in teh correct subdirectory of the classs path.
error 2: Class MensageiroImp not found.

Pelo que eu entendi, ele está reconhecendo “MensageiroImp” como “com.teste.rmi.MensageiroImp”… que é o pacote onde ele está dentro do projeto… É isto mesmo??? Uma luz, please!

Existe algum jeito mais fácil de criar isso no NetBeans, sem ter q ficar abrindo commands e digitando no dos???

Desde já, agradeço pessoal!

Pelo que percebi aqui, a sua classe cliente que chama o metodo remoto tem que estar no mesmo caminho de package. Nao pode estar o cliente num package e o server em outro package, mesmo que estejam em maquinas diferentes. (pelo menos cheguei a essa conclusao, nao sei se estou certo)

Minha classe server esta registrando o rmi sem precisar ir para o DOS. Da uma olhada se assim da certo :

[code]import java.rmi.Naming;

import org.apache.log4j.Logger;

public class ProcessadorServer {

Logger logger = Logger.getLogger(ProcessadorServer.class);

public ProcessadorServer() {
	try {
		 java.rmi.registry.LocateRegistry.createRegistry(1099);
		 logger.debug("RMI registry ready.");
	  } catch (Exception e) {
		 logger.debug("Exception starting RMI registry:");
		 e.printStackTrace();
	  }	
	
	
	try {
        ProcessadorMetodos m = new ProcessadorImpl();
        Naming.rebind("rmi://localhost:1099/Processador", m);
        logger.debug("");
        logger.debug("Server On...");
        logger.debug("");
        
        
    }
    catch( Exception e ) {
    	logger.error( "Trouble: " + e );
    }
}

[/code]

Olá Bezerra, acho que uma resposta bem simples pro seu problema é:

rmic -d com/testes/rmi com.testes.rmi.MensageiroImp

Até mais!