开发环境
eclipse java EE IDE,jdk1.6
异常1 找不到类或存根
java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
java.lang.ClassNotFoundException: com.zlz.examples.rmi.server.Compute
...
解决方案1
假定无其他代码及部署错误,在示例工程的bin文件夹下启动rmiregistry, 问题解决。
异常2 AccessControlException
java.security.AccessControlException: access denied (java.net.SocketPermission 127.0.0.1:2001 connect,resolve)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:323)
at java.security.AccessController.checkPermission(AccessController.java:546)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
at java.lang.SecurityManager.checkConnect(SecurityManager.java:1034)
at java.net.Socket.connect(Socket.java:513)
at java.net.Socket.connect(Socket.java:469)
at java.net.Socket.(Socket.java:366)
at java.net.Socket.(Socket.java:179)
......
policy文件语法不正确,或配置不对,会造成 AccessControlException 异常。
server.policy
grant codeBase "file:/ExamplesZLZ/bin/"
{
permission java.security.AllPermission;
};
codeBase 用来指定代码路径,盘符可省略如果此路径不正确,也会造成上面的异常。