2011-05-26 78 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