2011-05-26 76 views
2
RMI应用

当我尝试启动我收到以下错误的服务器我下面这个教程关于Java RMI http://download.oracle.com/javase/tutorial/rmi/TOC.html麻烦的Java运行

但是:访问被拒绝(java.net.SocketPermission 127.0.0.1:1099连接,解析) at java.security.AccessControlContext.checkPermission(Unknown Source) at java.security.AccessController.checkPermission(Unknown Source) at java.lang.SecurityManager .checkPermission(未知来源)(Unknown Source) at java.net.Socket.connect(Unknown Source) at java.net.Socket.connect(Unknown Source) at java.net.Socket。(Unknown Source ) 在java.net.Socket中。(来源不明) 在sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(来源不明) 在sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(来源不明) 在阳光下.rmi.transport.tcp.TCPEndpoint.newSocket(Unknown Source) at sun.rmi.transport.tcp.TCPChannel.createConnection(Unknown Source) at sun.rmi.transport.tcp.TCPChannel.newConnection(Unknown Source) at sun.rmi.server.UnicastRef.newCall(未知来源) at s un.rmi.registry.RegistryImpl_Stub.rebind(来源不明) 在engine.ComputeEngine.main(ComputeEngine.java:61)

我想用下面的命令来运行:

d:\文件\开发\ javarmi> java -cp D:\ files \ develop \ javarmi; D:\ files \ webdocs \ classes \ compute.jar -Djava.rmi.server.codebase = file:/ D:/ files/webdocs/classes/compute .jar -Djava.rmi.server.hostname = 192.168.0.162 -Djava.security.policy = server.policy engine.ComputeEngine

我该怎么做才能纠正这个问题?

回答

2

问题解决了。

server.policy文件是错误的正确的是:

授予{ 许可java.net.SocketPermission “*:1024-”, “连接,接受”; 权限java.security.AllPermission; };

+0

不是。如果您授予AllPermission,则不需要另一个,除非您不使用代码库功能,否则您根本不需要文件或清理管理器,或者您对安全管理器有单独的要求,在这种情况下,您肯定不会使用AllPermission。 – EJP 2011-05-28 23:18:26