12. maj 2003 - 09:41
Der er
16 kommentarer og 1 løsning
Hvor ligger forskellen ?
Nedenstående virker ! set classpath=c:\j2sdk141_01\bin;d:\ java a.b.c.MinClass Hvorfor gør denne ikke ? java -classpath c:\j2sdk141_01\bin;d:\ a.b.c.MinClass
Annonceindlæg fra Kingston Technology
Virker: java -classpath .;c:\j2sdk141_01\bin;d:\ a.b.c.MinClass ?
Nej - desværre ikke, og det ville jeg jo mene at den burde - har lige prøvet endnu engang. Jeg har ikke sat miljøvariabler på maskinen, er det måske årsagen ??
Det burde virke fint ude.
Tja - jeg skal bare bruge "set classpath" for at det virker Din første kommentar burde virke (ville jeg mene), men gør den ikke!
Jeg kom lige til tænke på noget ! Jeg kører det fra en bat fil som ser sådan ud (VIRKER) set classpath c:\j2sdk141_01\bin;d:\ start rmiregistry java a.b.c.MinClass Mit alternativ var så følgende: start rmiregistry java -classpath c:\c:\j2sdk141_01\bin;d:\ a.b.c.MinClass Kan det være fordi rmiregistry mangler classpath, når jeg ikke har angivet miljøvariabler ??
Sludder Mit alternativ var så følgende: start rmiregistry java -classpath c:\j2sdk141_01\bin;d:\ a.b.c.MinClass
Hvilken fejl får du ? Fordi der er en vigtig forskel !!!! -classpath gælder ikke for rmiregistry CLASSPATH gælder for rmiregistry
Forslag: lave en lille RR.bat med: set CLASSPATH=.;d:\ rmiregistry og prøve så med; start RR java -classpath .;d:\ a.b.c.MinClass
RemoteException occurred in server thread; nested exception is: java.rmi.UnmarshalException: error unmarshalling arguments; nested excep tion is: java.lang.ClassNotFoundException: a.b.c.RMIserverImpl_Stub og så videre....................... DENNE FORSTÅR JEG IKKE -classpath gælder ikke for rmiregistry CLASSPATH gælder for rmiregistry
Så er vi på rette spor. Fejlen er formentlig at rmiregistry ikke kan finde a.b.c.RMIserverImpl_Stub fordi d:\ ikke er i rmiregistry's classpath. Derfor prøver du at lave den lille RR.bat som beskrevet ovenfor.
Jeg mener at: * den -classpath brugt på java kommandoen naturligvis ikke påvirker rmiregistry * en global CLASSPATH påvirker alt inklusive rmiregistry
Okay - er med på ideen Kast lige et svar !!
Det er iøvrigt muligt at: start rmiregistry -J-classpath d:\ også vil virke men jeg har altid brug en BAT-fil.
Din sidste kommentar gav anledning til et nyt spørgsmål Hvad gør -J
C:\>rmiregistry -? port argument, -?, is not a number. Usage: rmiregistry <options> <port> where <options> includes: -J<runtime flag> Pass argument to the java interpreter Jeg læser det som at det der kommer efter -J sendes til den Java som rmiregistry kører i. Men jeg har aldrig prøvet det.
Kurser inden for grundlæggende programmering