저는 Java RMI를 처음 사용하기 때문에 이에 대해 배우기위한 자습서를 진행하고있었습니다. 이 코드 샘플 3.Calculator CalculatorImpl.javaJava RMI 서버에 연결
CalculatorServer.javapublic class CalculatorServer {
public CalculatorServer(){
try {
Calculator c = new CalculatorImpl();
Naming.rebind("rmi://localhost:1099/CalculatorService", c);
} catch (Exception e) {
System.out.println("Trouble"+e);
}
}
public static void main(String args[]){
new CalculatorServer();
}
}
서버
에
public class CalculatorImpl extends UnicastRemoteObject implements Calculator { //constructor public CalculatorImpl() throws RemoteException { super(); } //@Override public long add(long a, long b) throws RemoteException { return a + b; } //@Override public long sub(long a, long b) throws RemoteException { return a - b; } //@Override public long mul(long a, long b) throws RemoteException { return a * b; } // @Override public long div(long a, long b) throws RemoteException { return a/b; } }
을 얻기를 위해 다음과 같습니다, 서버를 사용 .java
public interface Calculator extends Remote{
public long add(long a, long b) throws RemoteException;
public long sub(long a, long b) throws RemoteException;
public long mul(long a, long b) throws RemoteException;
public long div(long a, long b) throws RemoteException;
}
내가 프로그램을 디버깅 할 때 netbeans ide console에 의한 오류입니다. 이 오류가 발생했습니다 : Troublejava.rmi.ServerException : RemoteException이 서버 스레드에서 발생했습니다. 중첩 예외는 다음과 같습니다. java.rmi.UnmarshalException : 인수를 비 정렬 화하는 중에 오류가 발생했습니다. 중첩 예외는 다음과 같습니다. java.lang.ClassNotFoundException : rmi.Calculator
rmiregistry는 classpath에 인터페이스 클래스가 있어야합니다. – jtahlborn
고객 코드를 게시 할 수 있습니까? –