RMI Anfängerfrage

Status
Nicht offen für weitere Antworten.
E

Evi

Gast
Hallo,

ich habe mich heute eine Weile mit RMI beschaftigt, aber irgendwie komme ich nicht weiter.
Ich habe mich an dieses Turorial gehalten, also das Intervace und die beiden Klassen des Servers erstellt.

Dann steht im Tut, dass ich die Java Classe mit RMIC registireren soll, also "rmic ServerImpl" in der DOS Console eingeben. Das geht nicht, da die Console rmic nicht kennt. Wenn ich rmic von C:\j2sdk1.4.2_09\bin ausführe geht das zwar, aber er kennt ServerImpl nicht.

Ich bin da totaler Anfänger. Kann mir vielleicht jemand relativ einfach erklären, wie ich vorgehen muss?!

Ich arbeite mit Eclipse... muss ich da vielleicht noch etwas einstellen?!

gruß

Evi
 
N

na-oma

Gast
wenn du java benutzt sollte eigentlich die systemvariable "PATH" schon auf
"C:\j2sdk1.4.2_09\bin" gesetzt sein, sonst würde java nicht gehen. d.h. eigentlich sollte er auch "rmic.exe" in "C:\j2sdk1.4.2_09\bin" finden.

schau dir doch mal die path-variable an.

zur notlösung: starte rmic von C:\j2sdk1.4.2_09\bin (wie oben) und gib statt "ServerImpl" "C:\java\projekte\ServerImpl" an oder wie dein voller pfad eben heisst. Das sollte gehen is aber wohl umständlich!

Um sowas direkt aus eclipse zu machen, hab ich auf die schnelle:
http://www.genady.net/rmi/
gefunden, such ruhig mal bei google, villeicht gibts bessere.
 
E

Evi

Gast
Mh.. ich hatte mir wohl vorher mit Delphi irgendwie den PATH zerschossen... hab das Bin Verzeichniss dort neu eingetragen und siehe da, rmic geht. Aber trozdem kennt ServerImpl nicht ... auch wenn ich "rmic C:\rmitest\rmitest\ServerImpl.class" eingebe, sagt er dass er die Klasse nicht finden kann, obwohl auf jeden Fall in diesem Ordner liegt.

Naja ich habe mir dieses RMI Plugin runter geladen und entsprechend bei Eclipse eingebunden. Da bekomme ich aber immer die Exception:

Code:
RemoteException occurred in server thread; nested exception is: 
	java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is: 
	java.lang.ClassNotFoundException: rmitest.Server

Also ich sitze jetzt schon den halben Nachmittag dran, aber das wird einfach nichts ... ich könnte heulen. Was kann ich denn noch ausprobieren?!
 
E

Evi

Gast
Mh... hatte mich etwas zu doof angestellt ... hab jetzt mit RMIC ServerImpl_Stub.class erzäugt, aber ich bekomme jetzt bei Eclipse den Fehler:

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

Was muss ich jetzt noch machen?!
 
N

na-oma

Gast
Ka, hab ja keinen Plan von RMI oder dem Plugin.

Der Fehler sagt aus, dass er irgendwie die Klasse ServerImpl_Stub nicht findet, bzw. das dazugehörige Class File.

Kann an Pfaden liegen, oder sowas...
zu marshalling:
http://dict.leo.org/cgi-bin/dict/urlexp/20040331104400

also er kann aufgrund dass er ServerImpl_Stub nicht findet, die daten nicht in die ursprüngliche forum zurückbringen
 
E

Evi

Gast
Ich habe das jetzt noch mal alles neu gemacht und schön in ein eigenes Packet verpackt, aber trozdem klappt es nicht.
Er sagt, dass er die ServerImpl_Stub.class nicht finden kann, obwohl sie ja in dem selben Ordner ist, wie die anderen auch. Ich habe auch überall gelesen, dass nach dem compilieren mit rmic sowohl eine '_Stub' und eine '_Skel'.class Datei vorhanden sein müsste, aber bei mir gibt es nur eine '_Stub'.class

Was kann ich denn noch falsch gemacht haben?!

Hier mal mein Code:

Code:
package RMIPack;

import java.rmi.*;
public interface Server extends Remote
{
	int getValue() throws RemoteException;
}

Code:
package RMIPack;

import java.util.*;
import java.rmi.server.*;
import java.rmi.RemoteException;
public class ServerImpl extends UnicastRemoteObject implements Server
{
	private int value;
	
	public ServerImpl() throws RemoteException
	{
		this.value = 3;
	}

	public int getValue() throws RemoteException
	{
		return this.value;
	}
}

Code:
import java.rmi.*;
import java.rmi.registry.*;
import java.rmi.server.UnicastRemoteObject;

class ServerProc
{
	public static void main (String args []) throws RemoteException
	{
		//permission java.security.AllPermission;
		if(System.getSecurityManager() == null)
		{
			System.setSecurityManager(new RMISecurityManager());
		}
		try {
			ServerImpl obj = new ServerImpl();
			Naming.rebind("rmi://localhost:1099/Server",obj);
		}catch (Exception e){
			System.out.println(e.getMessage());
		}
		//LocateRegistry.createRegistry(1099); 
	}
}



Im Ordner RMIPack(Also dem des Packets) befinden sich follgende Dateien:

Server.class
Server.java
ServerImpl.class
ServerImpl.java
ServerImpl_Stub.class
ServerProc.class
ServerProc.java

.
 
E

Evi

Gast
Ich würde das echt gerne hinbekommen ... kann mir wirklich niehmand helfen?!

Also vielleicht muss ich noch irgendwas in Eclipse einstellen, oder so...
 

Bleiglanz

Gesperrter Benutzer
ist ServerProc auch in dem Package RMIPack (übrigens schreibt man packagenamen klein)?

du musst

java RMIPack.ServerProc

in dem Verzeichnis eingeben, in dem der Unterordner RMIPack liegt??

und warum ist class ServerProc nicht public??
 
E

Evi

Gast
Die Dateien (Client.class,Server.class,ServerImpl.class,ServerImpl_Skel.class,ServerImpl_Stub.class,ServerProc.class) liegen jetzt alle im Ordner "C:\WorkSpace\RMItest\rmipack\", also im Packet rmipack. ServerProc ist nun auch Public. Ich starte also die Console und gehe in den Ordner "C:\WorkSpace\RMItest\" dort gebe ich "java rmipack.ServerProc" und dann kommt trozdem die Fehlermeldung

"RemoteException occurred in server thread; nested exception is:
java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
java.lang.ClassNotFoundException: RMIPack.ServerImpl_Stub"


ich raff es einfach nicht ...
muss ich der Registry vielleicht noch irgendwie sagen, dass die Stub_Datei auch in dem Packet ist, oder so?!
 
E

Evi

Gast
(hatte es falsch kopiert)
ich meinte die Exception ist: java.lang.ClassNotFoundException: rmipack.ServerImpl_Stub
 
E

Evi

Gast
Ich könnte verrückt werden ... es lag nicht am Code, oder so. Sondern an meinem Java SDK.
Hab das ganze gerade mal auf einem anderen Rechner probiert und da geht es.
Sied dem ich den Borland JBuilder installiert habe, bekomme ich sowieso jede Menge Exceptions, auch bei Code der sonst funktioniert hätte.

Das heißt gleich mal System neu aufsetzen und nie wieder JBuilder anfassen.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Anfängerfrage zu meinem Programm. Java Basics - Anfänger-Themen 15
V Anfängerfrage: HelloWorld läuft nicht Java Basics - Anfänger-Themen 3
F if else if anfängerfrage Java Basics - Anfänger-Themen 22
P Anfängerfrage, Primitiv,komplex Java Basics - Anfänger-Themen 1
pkm Erste Schritte Anfängerfrage zu ::new Java Basics - Anfänger-Themen 4
A Anfängerfrage Java Basics - Anfänger-Themen 7
M Erstellung Interfaces....totale Anfängerfrage Java Basics - Anfänger-Themen 16
W DNS Name auslesen + weitere Anfängerfrage Java Basics - Anfänger-Themen 4
R Anfängerfrage zu Methoden in Vererbte Klassen Java Basics - Anfänger-Themen 2
F Erste Schritte (Gelöst) Anfängerfrage Arraylist ausserhalb der Main Methode Java Basics - Anfänger-Themen 2
DeVolt Anfängerfrage zu util.scanner Java Basics - Anfänger-Themen 2
T Anfängerfrage zu Schleifen und Arrays Java Basics - Anfänger-Themen 5
B Collections ArrayList füllen - Anfängerfrage Java Basics - Anfänger-Themen 1
Shams Anfängerfrage zu jnlp Java Basics - Anfänger-Themen 0
T Kleine Anfängerfrage :) Java Basics - Anfänger-Themen 4
I Anfängerfrage JPanel repaint() Java Basics - Anfänger-Themen 6
F Anfängerfrage zu extends Java Basics - Anfänger-Themen 12
A Anfängerfrage: Zahlformat prüfen Java Basics - Anfänger-Themen 4
I Anfängerfrage: Fehlersuche Java Basics - Anfänger-Themen 2
A Methoden Anfängerfrage: 2 Listen Vergleichen Java Basics - Anfänger-Themen 7
L Anfängerfrage zu TileMap Java Basics - Anfänger-Themen 4
J anfängerfrage Java Basics - Anfänger-Themen 10
J Anfängerfrage HelloWorld? cmd-Problem Java Basics - Anfänger-Themen 35
J Anfängerfrage zu Grundlagen von Packages Java Basics - Anfänger-Themen 7
J Anfängerfrage zur Variablen Java Basics - Anfänger-Themen 11
J Anfängerfrage :-) Java Basics - Anfänger-Themen 5
M Banale Anfängerfrage Java Basics - Anfänger-Themen 3
Y Anfängerfrage zu array(-Syntax) Java Basics - Anfänger-Themen 6
J Leichte Java Anfängerfrage. Bitte schnelle Antwort. :) Java Basics - Anfänger-Themen 10
U Anfängerfrage - Multithreading Java Basics - Anfänger-Themen 8
T Aufrufen von get-Methode aus anderer Klasse (absolute Anfängerfrage) Java Basics - Anfänger-Themen 2
G Anfängerfrage zu "@Override" Java Basics - Anfänger-Themen 5
N Anfängerfrage richtige Syntax und Frage zu Vector Java Basics - Anfänger-Themen 7
A Anfängerfrage - array required, but java.lang.String found Java Basics - Anfänger-Themen 7
M Kleine Anfängerfrage Java Basics - Anfänger-Themen 10
S Anfängerfrage zu Array Java Basics - Anfänger-Themen 8
K Anfängerfrage: Fehlermeldung Java Basics - Anfänger-Themen 6
D Anfängerfrage N. Office Access NOA: setHidden und dann . Java Basics - Anfänger-Themen 2
N Anfängerfrage Java Basics - Anfänger-Themen 14
N anfängerfrage. returnwerte Java Basics - Anfänger-Themen 3
Gama Importieren von Klassen [Anfängerfrage] Java Basics - Anfänger-Themen 3
G Anfängerfrage Java Basics - Anfänger-Themen 11
B Anfängerfrage zu Swing "Reload" Java Basics - Anfänger-Themen 2
N Anfängerfrage bezüglich Speicherverwaltung Java Basics - Anfänger-Themen 3
G Anfängerfrage zu Threads Java Basics - Anfänger-Themen 14
Q Anfängerfrage Java Basics - Anfänger-Themen 6
J Anfängerfrage: wie externe Dateien importieren? Java Basics - Anfänger-Themen 5
S Anfängerfrage Java Basics - Anfänger-Themen 7
G Anfängerfrage zu Vererbung Java Basics - Anfänger-Themen 6
B Anfängerfrage zu 'NoClassDefFoundError' Java Basics - Anfänger-Themen 2
J IO Frage Hex-Output - Anfängerfrage Java Basics - Anfänger-Themen 5
T Anfängerfrage -> Projekt Java Basics - Anfänger-Themen 2
C Anfängerfrage ->Objekte und Arrays Java Basics - Anfänger-Themen 4
V Anfängerfrage Java Basics - Anfänger-Themen 8
DEvent anfängerfrage: wieso layout erst beim verändern? Java Basics - Anfänger-Themen 6
G Anfängerfrage Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben