Estou tentando fazer um exemplo de RMI “rodar” e esta dando a seguinte exception:
Exception in thread "main" javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial
at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
at javax.naming.InitialContext.getURLOrDefaultInitCtx(Unknown Source)
at javax.naming.InitialContext.rebind(Unknown Source)
at ProdutoServidor.main(ProdutoServidor.java:22)
Código do exemplo:
[code]
import javax.naming.Context;
import javax.naming.InitialContext;
import java.net.MalformedURLException;
import java.rmi.RemoteException;
import javax.naming.NamingException;
/**
-
Classe servidora de métodos para objetos remotos.
*/
public class ProdutoServidor {
public static void main(String[] args) throws RemoteException,
MalformedURLException,
NamingException {
System.out.println(“Criando objetos…”);
ProdutoImpl p1 = new ProdutoImpl(“Pen Drive LG 256MB”);
ProdutoImpl p2 = new ProdutoImpl(“HD Maxtor 60GB”);System.out.println(“Publicando objetos no Servico de Nomes…”);
InitialContext initialContext = new InitialContext();
initialContext.rebind(“pen_drive”,p1);
initialContext.rebind(“hd_maxtor”,p2);System.out.println(“Aguardando pedidos de clientes…”);
} // public static void main(String[]) throws RemoteException, …
} // public class ProdutoServidor[/code]
Alguem pode me ajudar a resolver?
O erro é gerado no momento em que vai executar - > initialContext.rebind(“pen_drive”,p1);