0

尝试从 RPG 调用 Java 方法时,我一直在遵循手册Introduction to Java and RPGCalling Java Methods from ILE RPG

但是当我调用调用我的 java 函数的 RPG 函数时,我收到以下错误:

调用 Java 方法 (CGDF) 时收到 Java 异常。

按 F1 显示以下消息:

信息 。. . . : 调用 Java 方法 (CGDF) 时收到 Java 异常。
原因 。. . . .
: 程序 DEVLYNLIB/HELLO 中的 RPG 过程 HELLO 在类“JavaCallClass”中调用带有签名“(II)I”的方法“test.CallStaticMethod”时收到 Java 异常“java.lang.NoClassDefFoundError: JavaCallClass (wrong name: test/JavaCallClass) ” .

这是我的Java类:

package test;

public class JavaCallClass {
    public static int CallStaticMethod(int number1, int number2) {
    return number1 + number2;
}

角色扮演游戏功能:

 H thread(*serialize)

 D StaticMethod    PR            10I 0 EXTPROC(*JAVA:
 D                                       'test.JavaCallClass':
 D                                       'CallStaticMethod')
 D                                     STATIC
 D  number1                      10I 0 VALUE
 D  number2                      10I 0 VALUE

 D sum             S             10I 0

  /free
   sum = StaticMethod(5:10);
   return;
  /end-free 

我认为它可能与我的 CLASSPATH 变量有关,我相信我已经设置正确了。我的 Java 类文件位于/home/WAL60326/TutorialProject/test

这是我的完整 CLASSPATH 变量值:

'/Plex/Objava/lib/obrun.jar:/Plex/WsydXml11.jar:/PLEX/JT400.JAR:/PLEX/WSYDUTIL.JAR:/Plex/xercesImpl.jar:/Plex/xalan.jar:/PLEX/ XML-APIS.JAR:/PLEX/WSYDDWA21.JAR:/PLEX/COMMONS-HTTPCLIENT-3.1.JAR:/PLEX/COMMONS-LOGGING-1.1.JAR:/PLEX/COMMONS-CODEC-1.3.JAR:/PLEX/ADDRESSBOOK .JAR:/PLEX/NEXTNUM.JAR:/PLEX/UDC.JAR:/PLEX/P6SERVICES.JAR:/PLEX/MASTERVOCAB.JAR:/home/WAL60326/TutorialProject/test'

4

1 回答 1

2

您必须从类路径中删除包名称:

:/home/WAL60326/TutorialProject

应该这样做。

于 2013-08-22T06:45:05.193 回答