Avatar billede meltinis Nybegynder
24. marts 2004 - 11:41 Der er 27 kommentarer og
2 løsninger

RMI i JBuilder? Kan ikke finde _stub klasserne.

Jeg kører et program som (foreløbig) skal køre på den samme maskine. Når jeg forsøger at kompile så kan den ikke finde _stub klasserne selvom jeg kan se at de ligger der. Jeg får fejlmeddelelsen:

java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
    java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
    java.lang.ClassNotFoundException: supershout.ComServer_Stub

Er der nogen der har været ude for samme problem?
Avatar billede arne_v Ekspert
24. marts 2004 - 12:10 #1
Det lyder som om RMIRegistry ikke kan finde stub klasserne !
Avatar billede meltinis Nybegynder
24. marts 2004 - 12:14 #2
Ja...ok. Men er der noget jeg kan gøre ved det?
Avatar billede arne_v Ekspert
24. marts 2004 - 12:19 #3
Evt. starte RMIRegistry med:

-J-classpath -J/dir/
Avatar billede arne_v Ekspert
24. marts 2004 - 12:20 #4
Hvis du kører RMIRegistry fra JBuilder:

Tools
Configure Tools
Avatar billede arne_v Ekspert
24. marts 2004 - 12:20 #5
-J-classpath -J/dir/subdir
Avatar billede meltinis Nybegynder
24. marts 2004 - 12:29 #6
Skal jeg tilføje et nyt "tool"? Skal siges jeg er lidt på usikker grund i denne del af JBulder!!!
Avatar billede arne_v Ekspert
24. marts 2004 - 12:34 #7
Næ - RMIRegistry er der vel allerede ??
Avatar billede meltinis Nybegynder
24. marts 2004 - 12:43 #8
OK... jeg har nu tilføjet det som parameter, men det giver stadig samme resultat. Nu starter jeg så registret selvstændigt i JBuilder... Men der er vel ikke andre måder at gøre det på!?
Avatar billede 5floor Nybegynder
24. marts 2004 - 12:59 #9
Hej.
Jeg har haft samme problem (se evt spm. her på Eksperten Titel: "RMI og JBuilder");
Jeg skriver:

-Djava.rmi.server.codebase=file:C:\Java\Server\RMIServer\classes\

som VM parameter i Runtime Configutaions.

Så fungerer det hos mig.
Husk at starte RMIRegistry: Tools>RMIRegistry

God arbejdslyst.

Mads
Avatar billede 5floor Nybegynder
24. marts 2004 - 13:01 #10
Ups, undskyld.
Hvor RMIServer er mappen med hele Server-projektet. Og classes er mappen hvori .CLASS filerne ligger, inkl. _stub og _skel
Avatar billede arne_v Ekspert
24. marts 2004 - 13:08 #11
Men hvorfor bruger meget tid på at få det til at virke inde i JBuilder.

Det skal jo alligevel køre udenfor når det er færdig.
Avatar billede meltinis Nybegynder
24. marts 2004 - 13:13 #12
Grunden til at jeg godt vil have det til at køre fra JBuilder er at mange af de ting jeg laver skal kun bruges til at teste hvordan tingene virker... Jeg skal ikke bruge det til noget i længere tid. Det meste skal bruges til undervisning.
Avatar billede meltinis Nybegynder
24. marts 2004 - 13:14 #13
Men er der en måde hvorpå jeg kan køre mit program fra prompten uden at skulle fjerne "package" fra alle mine filer?
Avatar billede 5floor Nybegynder
24. marts 2004 - 13:17 #14
Det skulle da gerne virke med den streng jeg skrev?
Eller hvad?
Altså så du ikke skal køre det fra prompt.

Mads
Avatar billede meltinis Nybegynder
24. marts 2004 - 13:18 #15
Nej... men jeg kan ikke rigtig få det til at virke :(
Den skriver det samme.
Avatar billede meltinis Nybegynder
24. marts 2004 - 13:21 #16
Næææ... nu laver den en anden fejl:
java.lang.NoSuchMethodError: main

Og samtidig kommer den med en VM fejl. Fatal Exception Occured. Program vil exit
Avatar billede arne_v Ekspert
24. marts 2004 - 13:22 #17
Du kan sagtens køre command line med packages.

Læs f.eks. min artikel om RMI avanceret.
Avatar billede arne_v Ekspert
24. marts 2004 - 13:22 #18
Og selvføligelig kan det bringes til at virke fra JBuilder.
Avatar billede 5floor Nybegynder
24. marts 2004 - 13:22 #19
Den er vist ikke så vild med mellemrum i fil-stien. Har du generet dine _stub _akel filer?
Avatar billede arne_v Ekspert
24. marts 2004 - 13:22 #20
java.lang.NoSuchMethodError: main

antyder at du kører en klasse som ikke indeholder main
Avatar billede meltinis Nybegynder
24. marts 2004 - 13:24 #21
UPS... havde valgt den forkerte fil, men det virker stadig ikke. Er tilbage ved den gamle fejl igen...
Avatar billede meltinis Nybegynder
24. marts 2004 - 13:39 #22
Nu har jeg prøvet at køre det fra prompten og der kan den heller ikke finde klassen!!! Er det så fordi den ligger i en package?
Avatar billede meltinis Nybegynder
24. marts 2004 - 13:53 #23
Jeg har tidligere lavet noget med RMI, men fra prompten... Der virkede det først da jeg i min classpath henviste til klasse bib. Kan man sætte den classpath i JB?
Avatar billede meltinis Nybegynder
24. marts 2004 - 14:03 #24
Skal jeg i min parametre have '-' med eller ej? Hvis jeg fjerner den så siger den at den ikke kan finde klassen. Spørgsmålet er så om det er et skridt frem eller tilbage?
Avatar billede meltinis Nybegynder
24. marts 2004 - 14:10 #25
OK... jeg er kommet videre :)
-Djava.rmi.server.codebase=file:C:\Java\Server\RMIServer\classes\
skulle ændres til
-Djava.rmi.server.codebase=file://C:\Java\Server\RMIServer\classes\

Nu får jeg så en LAAAAAAAAAAAANG række fejlmeddelelser som starter med:
java.security.AccessControlException: access denied (java.net.SocketPermission 10.20.245.24:1099 connect,resolve)

Der er altså nu et adgangsproblem... Skal det løses ved en "grant" fil?
Avatar billede meltinis Nybegynder
24. marts 2004 - 14:53 #26
ARRRRRRRRRRRRRRRRRGGGGGGGGGGGHHHHHHHHHHHHHHHHH.... Man kan blive SÅ træt af sig selv nogle gange... Jeg havde selvfølgelig ændret min 'codebase' henvisning så det passede til mit program, men GLEMT at sætte en '/' tilsidst >:( Jeg store ID..T
Nå, men nu virker det... Smid et svar så kan I få nogle point.
Avatar billede 5floor Nybegynder
24. marts 2004 - 15:01 #27
Godt at det lykkedes.
God onsdag.
MvH. Mads
Avatar billede meltinis Nybegynder
24. marts 2004 - 15:05 #28
Tak... jeg venter lige på at Arne_v kommer med et svar... jeg synes også han skal have et del af kagen... Dog er dit svar det rigtige og skal derfor have flest point :)
Avatar billede arne_v Ekspert
24. marts 2004 - 15:16 #29
svar
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