-1
我想创建一个rmi应用程序:客户端传输文件到服务器。但是,运行代码时,我得到安全管理器异常。 下面是客户端:如何解决java.security.AccessControlException
import java.rmi.Naming;
import java.rmi.RMISecurityManager;
import java.util.Scanner;
public class StartFileClient {
public static void main(String[] args) {
if (System.getSecurityManager() == null)
System.setSecurityManager(new RMISecurityManager());
try{
FileClient c=new FileClient("imed");
FileServerInt server=(FileServerInt)Naming.lookup("rmi://localhost/abc");
server.login(c);
System.out.println("Listening.....");
Scanner s=new Scanner(System.in);
while(true){
String line=s.nextLine();
}
}catch(Exception e){
e.printStackTrace();
}
}
}
下面是服务器端:
import java.rmi.Naming;
public class StartFileServer {
public static void main(String[] args) {
// TODO Auto-generated method stub
try{
java.rmi.registry.LocateRegistry.createRegistry(1099);
FileServer fs=new FileServer();
fs.setFile("itcrowd.avi");
Naming.rebind("rmi://localhost/abc", fs);
System.out.println("File Server is Ready");
}catch(Exception e){
e.printStackTrace();
}
}
}
而且,我创建了一个文件security.policy
grant {
permission java.security.AllPermission;
};
感谢您的帮助。
我把策略文件放在我的文件夹包中。 –
我删除它。但我得到了同样的错误:访问被拒绝(“java.net.SocketPermission”“127.0.0.1:1099”“连接,解决”).. –
把政策文件放入你的'文件夹包'不会完成任何事情,也不会删除它。你似乎没有真正阅读我的答案。 – EJP