[Java] RMI: ClassNotFoundException

Pagina: 1
Acties:

  • Bjoss
  • Registratie: Oktober 2000
  • Laatst online: 14-12-2022
'k Heb volgens het boekje gewerkt en het simpelste RMI test proggie ooit geschreven, maar krijg het gewoon niet aan de gang :(.
Als ik mijn server start krijg ik steeds volgende exception :
java.lang.ClassNotFoundException: RMIServerImpl_Stub

Volgens mij is er nix aan de code mis, en loopt het dus ergens anders fout... (CLASSPATH is ook aangepast)

Heb alles ook eens getest in de <jdk>/bin directory en daar start ie wel goed. :?

Misschien iets van codebase toestanden of zo?

ZOEM!


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Je bent waarschijnlijk vergeten om stubs te genereren door rmic los te laten op je remote implementaties (anders had je namelijk wel geweten wat stubs zijn ;) ).

Ik denk dat je nog maar even dat hele eenvoudige voorbeeld goed door moet lopen of even een kijkje moet nemen in de Java Tutorial.

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Even ter aanvulling van mbravenboer ( je bent weer snel vandaag :( )
http://java.sun.com/docs/books/tutorial/rmi/index.html voor een perfecte introductie van Java-RMI. Veel succes!

  • MisterData
  • Registratie: September 2001
  • Laatst online: 04-09 23:45
Heb ik ook wel es gehad ;) Je moet zorgen dat je rmiregistry met de juiste classpath laadt, dwz in dezelfde map als waar je je classfiles hebt staan (dus NIET in een Jar) :)

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
MisterData: Je moet zorgen dat je rmiregistry met de juiste classpath laadt
Je kunt de RMI registry ook opstarten vanuit je Java code, dat is eigenlijk veel makkelijker.
dwz in dezelfde map als waar je je classfiles hebt staan (dus NIET in een Jar) :)
Hum, dat heeft natuurlijk helemaal niets met een jar te maken.... Ik zou het gebruik van jars nooit willen ontmoedigen ;) .

Waar jij op doelt is dat de current directory normaal gesproken op de classpath staat en je dus geen opties hoeft mee te geven aan de registry. Als de klassen in een jar zitten, moet je die even meegeven aan rmiregistry. Maar zoals ik al eerder zei is starten vanuit je Java code eigenlijk veel makkelijker :) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • Bjoss
  • Registratie: Oktober 2000
  • Laatst online: 14-12-2022
Op zondag 09 juni 2002 21:39 schreef mbravenboer het volgende:
Je bent waarschijnlijk vergeten om stubs te genereren door rmic los te laten op je remote implementaties (anders had je namelijk wel geweten wat stubs zijn ;) ).
Dat is juist het probleem, ik doe alles volgens het boekje. (rmic'en dus ook gedaan).
Ik denk dat je nog maar even dat hele eenvoudige voorbeeld goed door moet lopen of even een kijkje moet nemen in de Java Tutorial.
RMI tutorials komen m'n oren al uit oor... :r

ZOEM!


  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Heb je een classfile met de naam RMIServerImpl_Stub.class dan :?

  • Bjoss
  • Registratie: Oktober 2000
  • Laatst online: 14-12-2022
Op zondag 09 juni 2002 22:02 schreef Glimi het volgende:
Heb je een classfile met de naam RMIServerImpl_Stub.class dan :?
Jep, volgens mij zie ik hier gewoon iets over het hoofd of zo...

ZOEM!


  • Bjoss
  • Registratie: Oktober 2000
  • Laatst online: 14-12-2022
Moesten jullie nog geinteresseerd zijn, de dader was m'n geinstalleerde oracle client. |:( Blijkbaar startte ik de *verkeerde* rmiregistry.exe op (C:\Program Files\Oracle\jre\1.1.7\bin; die in mijn path stond), terwijl ik de jdk1.4 gebruik.

In alle geval, het zou inderdaad ook zijn opgelost geweest moest ik...
code:
1
java.rmi.registry.LocateRegistry.createRegistry(<port>);

... in m'n code hebben opgenomen ipv altijd die rmiregistry.exe te starten.

Bedankt!

ZOEM!


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Bjoss: in m'n code hebben opgenomen ipv altijd die rmiregistry.exe te starten.
Inderdaad, dat is eigenlijk veel makkelijker en precies wat ik hiermee bedoelde:
mbravenboer: Je kunt de RMI registry ook opstarten vanuit je Java code, dat is eigenlijk veel makkelijker.
In ieder geval mooi dat je er toch nog uit bent gekomen :) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment

Pagina: 1