Avatar billede delley Nybegynder
18. februar 2004 - 11:36 Der er 7 kommentarer og
1 løsning

RMI i jar fil fejl

Hej,

Jeg er ved at udvikle min første RMI app. og sidder fast...

Jeg er nået dertil hvor jeg er ved at pakke det hele ned i en jar fil.

Mit problem er at når jeg prøver at starte min RMI server så kan den ikke finde mine IF, Stub og Skel filer der ligger pakket inden i jar filen.

Jeg bruger ikke noget pakke navn. Filerne AlarmMonitor.class (server), AlarmMonitorIF.class, AlarmMonitor_Stub.class og AlarmMonitor_Skel.class ligger alle i den samme mappe inden i jar filen (AlarmDispatcher.jar).

Jeg bruger følgende til at starte min server:
rmiregistry &
java -classpath=.:/tmp/alarm_monitor/AlarmDispatcher.jar  -Djava.rmi.server.codebase=file:///tmp/alarm_monitor/ -Djava.security.policy=security.policy AlarmMonitor

Det fejler med ClassNotFound AlarmMonitor_Stub.

Hvis jeg kopierer AlarmMonitorIF.class og AlarmMonitor_Stub.class til /tmp/alarm_monitor/ (samme sted som jar filen) så fungerer det fint...

Nogle forslag ???

Mvh

delley
Avatar billede arne_v Ekspert
18. februar 2004 - 11:51 #1
"Jeg bruger ikke noget pakke navn"

"AlarmMonitor_Stub.class og AlarmMonitor_Skel.class ligger alle i den samme mappe inden i jar filen"

hvis du ikke bruger pakke skal de ligge i roden af jar filen !
Avatar billede delley Nybegynder
18. februar 2004 - 11:54 #2
Det gør de også... :-) sorry - dårligt beskrevet...
Avatar billede arne_v Ekspert
18. februar 2004 - 12:01 #3
Er den jar fil i classpath for rmiregistry ?

rmiregistry -J-classpath -J/tmp/alarm_monitor/AlarmDispatcher.jar &
Avatar billede delley Nybegynder
18. februar 2004 - 12:31 #4
AHA!!!

Niks det var den ikke!

Har nu startet rmiregistry som du har beskrevet og det virker!!!

Tak :-)

Kan du ikke oprette et svar så jeg kan kaste nogle points i din retning...

PS: Ved du hvorfor rmiregistry skal have jar filen ?
Avatar billede arne_v Ekspert
18. februar 2004 - 13:51 #5
svar
Avatar billede arne_v Ekspert
18. februar 2004 - 13:51 #6
Ja. RMIregistr skal sende et objekt af stub type til client. Det kan den
ikke uden at kende stub typen.
Avatar billede delley Nybegynder
18. februar 2004 - 14:19 #7
Hmmm... det lyder logiskt - men jeg oplevede da jeg ikke havde pakket mine filer i jar og de lå i samme mappe, at jeg kunne "nøjes" med at starte rmiregistry uden classpath - og min server/client virkede...

Hvordan kan det lade sig gøre? kigger rmi automatisk i "current directory" efter Stub filer?

Tak for dine svar!

delley
Avatar billede arne_v Ekspert
18. februar 2004 - 14:22 #8
Ja - normalt er current dir i classpath automatisk.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester