2012-03-29 11 views
1

Ich bin ein Student, und ich versuche, eine RMI-Anwendung zu schreiben.Java RMI NoClassDefFoundError (Entwicklung auf Netbeans IDE)

Ich habe 3 separate Projekte:

  • One ist Server Side
  • One Common ist (sind Schnittstellen und Einheiten mit Datenbankstruktur zu reflektieren)
  • Ein Client ist

und Ich schreibe es auf Netbeans IDE.

Wenn ich Server starten erhalte ich einen Print Fehler wie folgt aus:

Exception in thread "main" java.lang.NoClassDefFoundError: rmi/cosmetic/Interfaces/ICategories 
    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClass(ClassLoader.java:791) 
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) 
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) 
    at java.net.URLClassLoader.access$100(URLClassLoader.java:71) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:423) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:356) 
    at Server.ServerSide.main(ServerSide.java:22) 
Caused by: java.lang.ClassNotFoundException: rmi.cosmetic.Interfaces.ICategories 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:423) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:356) 
    ... 13 more 
Java Result: 1 

rmi/Kosmetik/Schnittstellen/ICategories

ist der Pfad der Datei-Schnittstelle Kategorien wurde eingedämmt in gemeinsamen Projekt für beide Seiten Client und Server

Ich habe keine Ahnung von diesem Problem. Ich versuche, den Klassenpfad auf meine Fenster zu setzen, aber es hat nicht funktioniert.

Kann mir bitte jemand helfen?

Einige Bilder, klar

http://upanh.7nghiep.com/vgo-images/vgo.vn-qIntT.jpg

http://upanh.7nghiep.com/vgo-images/vgo.vn-jaJw0.jpg

upanh.7nghiep.com/vgo-images/vgo.vn-RvxIo.jpg

upanh.7nghiep zu machen. com/vgo-images/vgo.vn-DvuMt.jpg

upanhh.nghiep.com/vgo-images/vgo.vn-OI9rL.jpg

+0

Sind Ihre Client-, Server- und allgemeinen Klassen in 3 separaten Töpfen verpackt? –

+0

bitte posten Sie auch Ihren Code. –

+0

siehe Beispiel http://edwin.baculsoft.com/2012/01/a-simple-java-rmi-tutorial/ –

Antwort

1

Verursacht durch: java.lang.ClassNotFoundException: rmi.cosmetic.Interfaces.ICategories

Es ist dein Problem dort richtig. Ihre Registry oder Ihr Client kann diese Klasse nicht finden. Es muss auf ihrem CLASSPATH sein.

+0

Wie kann man CLASSPATH wissen? Ich war auf Windows-Umgebung eingestellt, aber ich weiß nicht, warum es nicht gefunden werden kann – Bronx

+0

Vielen Dank, ich löse es durch definieren Classpath in Windows-Umgebung – Bronx