# RMI Programm beendet ohne Fehler sofort nach Start (Windows 2000)



## Leitzelmaster (18. Feb 2009)

Hey Leute, hoffe ihr könnt mir helfen.

Ich hab da eine .jar Datei RMI-Server die auch einwandfrei unter Linux und Win XP funktioniert. 

Heute wollte ich die jedoch auf nem Windows 2000 PC testen jedoch ohne erfolg.
Ich hab folgendes eingegeben:


```
java -jar server.jar
```

Doch anstatt, dass das Programm jetzt auf einen Verbindungsaufbau wartet, beendet sich das Programm von selber ohne einen Fehler auszulösen.


Hier der relevante Server Code:


```
Server server = new Server();
		try
		{
			Registry registry = LocateRegistry.createRegistry(Registry.REGISTRY_PORT);
			RemoteInterface stub = (RemoteInterface)UnicastRemoteObject.exportObject(server, 0);
		
			registry.rebind("shutdown", stub);
		}
		catch(RemoteException e)
		{
			e.printStackTrace();
		}
```


----------



## tuxedo (18. Feb 2009)

Was sagt die Console? Was sagt der Stacktrace? Evtl mal in der KOnsole OHNE "javaw" starten.
Ein Abbruch ohne ein "Zeichen" gibt es in Java AFAIK nicht. Wenns raucht, dann steht irgendwo auch das "warum".

- Alex


----------



## Leitzelmaster (18. Feb 2009)

Naja auf der Konsole wird gar nichts ausgegeben. Das Programm startet, 1 sekunde passiert gar nichts und dann kann ich wieder einen anderen Befehl in der Eingabeaufforderung eingeben. Aber auf der Konsole wird nichts ausgegeben. 

Was meinst du mit "ohne jawaw ausführen"? Einfach die .class Datei ausführen anstatt die .jar?


----------



## tuxedo (18. Feb 2009)

Wenn du doppelt auf die JAR klickst wird i.d.R. javaw benutzt, womit du keine Konsole offen hast. Ergo siehst du nix.

Wenn du die jar in der Konsole mit "javaw -jar ..." ausführst hast du den gleichen Effekt.

Wenn du die Anwendung mit "java -jar ...." ausführst, hast du die AUsgaben des Programms in der Konsole. Und somit auch den Stacktrace.

Wenn dann immer noch nix an Ausgabe erscheint hilft nur debuggen mit einer IDE.

Nebenbei: SIMON kennst du schon?

- Alex


----------



## Leitzelmaster (18. Feb 2009)

Ich habs wie ganz oben beschrieben mit "java -jar server.jar" ausgeführt. Ich werds mal probieren mit debuggen. 
Aber das Programm verhält sich Meiner Meinung nach fast wie, wenn das "UnicastRemoteObject.exportObject()" nicht richtig funktioniert.

SIMON? ist das das was in deiner SIG steht? Ich werds mir mal anschauen, aber ich möchte trotzdem erst, dass das funktioniert weil ichs etwas komisch find...


EDIT: Also komisch bezogen darauf, dass es nicht funktioniert, nicht auf SIMON bezogen^^


----------



## tuxedo (18. Feb 2009)

Sorry, hab ich doch glatt überlesen... 
Ohne debuggen wirst du dann wirklich nicht weiter kommen (oder jede Menge Statusmeldungen auf der Konsole ausgaben --> nicht so schön).

Und, ja, das ist das was du in meiner Signatur findest.

- Alex


----------



## Leitzelmaster (18. Feb 2009)

Ich habs jetzt mit der anderen Methode (von UnicastRemoteObject erben und die Arbeit den Eltern Konstruktor machen lassen). Dies funktioniert auf einmal. Ich wüsste aber trotzdem zugern wieso es vorhin dann eben nicht funktioniert hat...


----------



## tuxedo (19. Feb 2009)

?! Das kann dir nur ein Stacktrace verraten, oder eben debuggen.


----------

