현재 rmi 레지스트리를 사용하여 원격 환경에서 작업하고 있습니다. 내 서버는 다음과 같이이다 : 나는하여 프로그램을 실행하면RMI 레지스트리가 실패했습니다 ... 예외가 null입니다.
import java.rmi.registry.LocateRegistry; import java.rmi.registry.Registry; public class Server { public static void main(String args[]){ if(args.length"); System.exit(-1); } try{ Registry r=LocateRegistry.getRegistry(); MethodsImp methods=new MethodsImp(); //have the object to be remotely accessed so will bind it to the registry System.out.println("Will register on "+args[0]); r.rebind(args[0], methods); } catch(Exception e){ System.out.println("Something went wrong when registring the methods"); System.out.println(e.getMessage()); System.exit(-1); } } }
:
java -classpath /home/outsider/Desktop/RIM/RIM_TP1_correct/src -Djava.rmi.server.codebase=file:/home/outsider/Desktop/RIM/RIM_TP1_correct/src/ Server regsiter_name
나는이 얻을 : 어떤 이유로
Will register on regsiter_name Something went wrong when registring the methods null
을 나는 그것이를 throw r.rebind 사용하는 경우 메세지가 null의 예외. 프로그램을 실행하기 전에 내가 쉘에
rmiregistry &
를 수행하여 rmiregistry에 설치합니다. 내가 뭘 잘못하고 있는지 알 수 없습니다. 사람이 좋은 것입니다 도움이 될 수 경우
어떤 유형의 예외가 발생합니까? ...? 'System.out.println (e.getClass(). getSimpleName()); 시도하십시오. – Finbarr
그것은 NullPointerException을 제공합니다 .... 그게 r.rebind가 제대로 작동하지 않는 것 같습니다 ....하지만 그렇지 않습니다. 이유를 아십니까 –
코드가 컴파일되지 않고 스택 추적을 제공하지 않았습니다. 현재 형태로 답할 수 없음. – EJP