2016-04-12 35 views
0

yalanladı.Java RMI/erişim Bir RMI sunucu oluşturmak çalışıyorum, ama zamanında şu istisna olsun

-Djava.security.policy=src/server.policy 

: Ben de VM argümanlar set

grant codeBase "file:///C:/EclipseProjects/MultiServiceServer/src"{ 

permission java.security.AllPermission; 

}; 

i src klasörüne yerleştirilir ilke dosyası Yardımlarınız için

public class Main { 

public static void main(String[] args) 
{  

    System.out.println("Server is running.."); 

    if (System.getSecurityManager() == null) { 
      System.setSecurityManager(new SecurityManager()); 
    } 

    try { 

     String name = "AvailableService"; 

     AvailableService service = new ServiceList(); 

     AvailableService stub = (AvailableService)UnicastRemoteObject.exportObject(service, 0); 

     LocateRegistry.createRegistry(4555); 

     Registry reg = LocateRegistry.getRegistry(4555); 

     reg.bind(name, stub); 

     System.out.println(name+" bound"); 

    } catch(Exception e){e.printStackTrace();} 


} 

Teşekkür: Son olarak, burada bu basit RMI sunucusunun kodudur.

cevap

0

C:/EclipseProjects/MultiServiceServer/src klasörü çalışma zamanında orada olmayacak ve derleme zamanında .class dosyaları içermiyor. Herhangi bir izin vermek hiç de imkansızdır. Kod tabanı özelliğini kullanmıyorsanız, RMI'de bir güvenlik yöneticisi kullanmanız gerekmez. değilsin. Bu yüzden güvenlik yöneticisini kaldırın.

+0

Güvenlik yöneticisini kullanmazsam, istemci tarafında istemci tarafında sunucu tarafındaki nesneye başvurmaya çalıştığımda başka bir özel durum (güvenlik yöneticisi: RMI sınıf yükleyicisi devre dışı bırakılmış) alırım. RMI aracılığıyla sınıfları yükleyebilmek için güvenlik yöneticisinin gerekli olduğunu okudum. – freestar

+0

Mesaj "ClassNotFoundException" yazıyor ve parantez içinde "güvenlik yöneticisi yok" yazıyor. * Sorun * 'güvenlik yöneticisi' değil, 'ClassNotFoundException'. Bunun çözümü güvenlik yöneticisini eklemek değil, eksik sınıfı JVM'nin istisnayı atan sınıf yoluna eklemektir. Güvenlik yöneticisi, belirttiğim koşullar altında ve başka hiç kimse için gerekli değildir. – EJP