package test.rmi;
import java.rmi.Remote;
import java.rmi.RemoteException;
public interface Hello extends Remote {
public void hello() throws RemoteException;
}
package test.rmi;
import java.rmi.Naming;
import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
public class Serwer extends UnicastRemoteObject implements Hello {
public Serwer() throws RemoteException {
}
public void hello() throws RemoteException {
System.out.println("Witaj");
}
public static void main(String[] args) {
try {
Serwer serwer = new Serwer();
Naming.bind("hello", serwer);
} catch (Exception e) {
e.printStackTrace();
}
}
}
package test.rmi;
import java.rmi.Naming;
public class Klient {
public static void main(String[] args) {
try {
Hello hello = (Hello) Naming.lookup("hello");
hello.hello();
} catch (Exception e) {
e.printStackTrace();
}
}
}
Jeśli brak pakietu (brak package test.rmi;) i pliki .java z tymi trzema klasami dam na dysk C. I nie są w żadnym folderze.
Następnie w wierszu poleceń (cmd) korzystam z następujących poleceń:
javac *.java
rmic -v1.2 Serwer
start rmiregistry
start java Serwer
start java Klient
I wszystko działa jak chciałem.
A jak to samo robić jak jest pakiet test.rmi i pliki znajdują się na dysku C w folderze C:\test\rmi?
Prubowałem klepać jakieś komendy:
start rmiregistry
java -classpath "C:\test.rmi"
start java -Djava.rmi.server.codebase=file:/C:/test/rmi/test.rmi.Serwer
I nic. Nawet namiastki nie mogę wygenerować tą komendą rmic -v1.2. Pewnie źle komendy wklepuje. Proszę o pomoc jak to poprawnie ustawić. Proszę o przykładowe komedy.