티스토리 뷰
RMI Server 프로그램을 작성 후 Server 실행시 아래와 같은 에러가 발생
java.rmi.ServerException: RemoteException occurred in server
thread; nested exception is:
java.rmi.UnmarshalException: error unmarshalling arguments; nested excep
tion is:
java.lang.ClassNotFoundException: Stub클래스파일_Stub <-- 자신의 클래스 파일에 따라 다를 수 있음.
위와 같은 에러가 발생했다면
1. 우선적으로 점검 할 것이 RMI시 사용할 Interface를 이용하여 생성한 클래스 파일의 Skeleton과 Stub 파일을 정상적으로 생성하여 존재하는지를 체크
2. RMI Server 실행시 codebase를 올바르게 지정해주었는가를 체크.
codebase 지정시에는 . 문자로 지정하지 않도록 주의한다.
-Djava.rmi.server.codebase=file:/./
위와 같이 . 문자로 지정시 rmiregistry 를 실행한 Directory Path가 codebase로 등록되게 되며, 등록된 Path를 기준으로 interface와 Skel, Stub 파일을 찾게 된다.
그러므로 ClassNotFoundException 이 발생하게 되는 것이고, 결과적으로 UnmarshalException이 발생한다.
따라서 codebase를 지정시에는 절대패스로 설정하여주거나 rmiregistry 를 interface와 Skel, Stub 파일의 위치에서 실생시켜주는 것이 문제 발생의 소지를 없애는 지름길이다.
RMI 서버 실행시 codebase를 굳이 "." 으로 설정하겠다고 고집피우는 프로그래머가 있다면... ㅡ.ㅡa 최소한 rmiregistry 를 실행시 RMI Server의 interface와 Skel, Stub 파일이 위치한 곳에서 실행시켜주도록 하자. ㅡ.ㅡa
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- 함양 나들이
- 제주도기행
- Cross-origin
- 제약산
- antimalware
- One UI
- cvs설정
- 오라클 계정 생성
- 은행나무숲
- 볼링
- 화면잠금 단축아이콘
- CORS
- Variable-Length Argument Lists
- 시작메뉴초기화
- CDPUserSvc
- 옹이생일
- 크리스마스 파티
- TMP
- Vista
- win10
- 작업표시줄투명처리
- 모데기
- 윈도우 인코딩 설정
- 모데기 모임
- 테더링 링크
- 64비트
- UI변경
- @tistory.com
- 보라매공원
- d90
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함