是否安全权限不够可以设置一个policy文件(client.policy)进行安全设置:
grant
{  permission java.net.SocketPermission
     "10.118.9.54:1024-65535","connect"
}
运行客户程序时,制定策略文件
java XXXClient -Djava.security.policy=client.policy或者直接将安全设定关闭:
//System.setSecurityManager(new RMISecurityManager());
以上请参见《Java 2 核心编程》,有更多rmi发布的说明

解决方案 »

  1.   

    你只要在本机能调试通过就行拉,
    ,然后你只要修改("rmi://10.118.9.54/CalculatorService")地址,
    在编译一边,把需要的类拷到其它的机上,你就可以运行拉!下面给代码,
      

  2.   

    client
    import java.rmi.*;
    import java.net.*;
    import java.io.*;
    public class MClient
    {
     public static void main(String args[])
     {
      try
      {
      RemoteInterface face=(RemoteInterface)Naming.lookup("RemoteServer");
      System.out.println(""+face.joinString("我爱你!"));
      }
      catch(Exception k)
      {
      System.out.println("error:"+k.getMessage());
      }
     
     }
    }
    server
    import java.rmi.*;
    import java.net.*;
    import java.rmi.server.*;
    import java.rmi.registry.*;
    public class MServer extends UnicastRemoteObject implements RemoteInterface
    {
    public MServer() throws RemoteException
    {
    super();
    }
    public String joinString(String str) throws RemoteException
    {
    String str1;
    str1="李井龙"+str;
    return str1;
            }
    }import java.net.*;
    import java.rmi.*;
    interface RemoteInterface extends Remote
    {
    public String joinString(String str) throws RemoteException;
    }import java.rmi.*;
    import java.net.*;
    public class Server
    {
    public static void main(String args[])
    {
    try{
    System.out.println("It Server is ready!!");
    MServer server=new MServer();
    Naming.rebind("rmi://127.0.0.1:1099/RemoteServer",server);
    System.out.println("It Server is ready!!");
            }
            catch(Exception e)
            {
             System.out.println("errors:"+e.getMessage());
            }
    }
    }
    生成*_stub等你会吧,我就不讲拉