Boa noite a todos. Tenho uma prova sobre RMI e um projeto. Fazendo os teste executados em sala, não tive êxito ao executar o
comando no prompt “rmic pacote.nomedaclasse” para gerar os Stubs (gerar o stub é requisito do projeto). Acusa -> error: Class remote.MensageiroImpl not found.
Antes de mais nada, já configurei as váriáveis de ambiente. Consigo executar o comando javac, rmic e me retorna resultados.
E também não estou executando dentro do path da classe e sim pacote.nomedaclasse.
Estou usando o Netbeans 6.8 + JDK 6.0.22
Acredito que deva ser algo referente a ultima versão da JDK pois o comando java nomeDaClasse não executa tb. Mas vi em um post falando que era a ultima JDK que não usava o comando java para executar e sim java -cp . nomedaclasse. Existe algo assim para gerar os stubs com RMI, pois tenho que gerar o dessa classe MensageiroImpl? Desde já agradeço.
package remote;
import java.rmi.Naming;
import javax.swing.JOptionPane;
/**
*
* @author Diogenes
*/
public class MensageiroServer {
public static void main(String[] args) {
try {
Mensageiro m = new MensageiroImpl();
Naming.rebind("rmi://localhost:1099/MensageiroService", m);
System.out.println("Servidor criado");
JOptionPane.showMessageDialog(null, "");
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
package remote;
import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
public class MensageiroImpl extends UnicastRemoteObject implements Mensageiro {
public MensageiroImpl() throws RemoteException {
super();
}
public void enviarMensagem(String msg) throws RemoteException {
System.out.println(msg);
}
public String lerMensagem() throws RemoteException {
return "Tecto enviado do objeto remoto";
}
}
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package remote;
import java.rmi.Naming;
import java.util.Scanner;
public class MensageiroClient {
public static void main(String[] args) {
try {
Mensageiro m = (Mensageiro) Naming.lookup("rmi://localhost:1099/MensageiroService");
System.out.println("MEnsagem enviada pelo cliente");
Scanner scanner = new Scanner(System.in);
scanner.next();
} catch (Exception ex) {
System.out.println("Exception: " + ex.toString());
}
}
}
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package remote;
import java.rmi.Remote;
import java.rmi.RemoteException;
public interface Mensageiro extends Remote{
public void enviarMensagem (String msg) throws RemoteException;
public String lerMensagem() throws RemoteException;
}