RPG에서 Java 메소드를 호출하는 동안 ClassNotFoundError
으로 도움을 주시면 감사하겠습니다. 이것은 나를 제외하고 다른 사용자가 내 프로그램을 실행하려고 할 때 발생합니다. 사실 말 그대로 CLASSPATH 나 jar 파일에 대한 액세스에 문제가있는 것처럼 보이지만 그 측면에서도 시도했습니다.RPG에서 Java 호출, 나 이외의 모든 사용자에 대해 ClassNotFoundError
설명 : jar 파일에서 java 메소드를 호출하는 RPG 프로그램이 있습니다. 내 CLASSPATH에는 올바른 jar가 포함되어 있습니다 (JtOpen jar 파일). 그것은 녹색과 검은 색 화면 (Iseries 세션 관리자)에서 RPG 프로그램을 실행할 때 완벽하게 작동합니다. 다른 사용자가 같은 방법으로 실행하려고하면 다음과 같은 오류 메시지가 나타납니다.
RPG Procedure received Java Exception java.lang.NoClassDefFoundError: com.ibm.as400.access.AS400 when calling method "invokeApiPgm" with signature "([Ljava.lang.String;Ljava.lang.String;I[Ljava.lang.String;)Z" in class "callIceApi.CallIceApiPgm"
.
위의 서명은 내가 호출하는 메소드의 서명과 동일합니다. 자바가 불평하고있는 클래스가 AS400의 클래스처럼 보이거나 내 것이 될 수 있습니까? AS400 클래스는 공개되어 있습니다. 클래스 개체가 내 클래스의 생성자에 의해 성공적으로 만들어졌습니다. 메인 메소드 invokeApiPgm
을 호출 할 때 실패합니다.
제가 누락되었거나 어수선해 진다고 생각합니까?
도움 주셔서 감사합니다.
Tewelle
'* JOB' 또는'* SYS' 레벨에서 클래스 경로를 설정 했습니까? –
안녕 베니, 나는 그들 모두를 시도했다. 내 jar 파일을 포함하도록 클래스 경로를 설정하는 내 RPG 코드에 포함 된 명령이 있습니다. 또한 프로그램을 실행하기 전에 CLASSPATH를 수동으로 변경했습니다. – tewemit
"환경 변수를 사용하여 JVM 시작 방법을 제어하는 경우 RPG 프로그램이 Java 메소드를 호출하기 전에 환경 변수가 작업에 존재하는지 확인해야합니다." - 이는 RPG 프로그램이 기본 활성 그룹에있는 경우 중요합니다. [추가 정보] (http://publib.boulder.ibm.com/infocenter/iadthelp/v7r0/index.jsp?topic=/com.ibm.etools.iseries.pgmgd.doc/c0925076175.htm). –