-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