从RPG调用Java,找不到我的Java类

时间:2013-08-22 06:35:07

标签: java cross-platform rpg

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

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

  

调用Java方法(C G D F)时收到Java异常。

按F1显示以下消息:

  

消息。 。 。 。 :调用Java方法(C G D F)时收到Java异常     原因。 。 。 。 。 :程序DEVLYNLIB / HELLO中的RPG程序HELLO收到了     Java异常“java.lang.NoClassDefFoundError:JavaCallClass(错误的名称:     test / JavaCallClass)“调用方法时”test.CallStaticMethod“与
    在“JavaCallClass”类中签名“(II)I”。

这是我的Java类:

package test;

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

RPG功能:

 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:/家庭/ WAL60326 / TutorialProject /测试“

1 个答案:

答案 0 :(得分:2)

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

:/home/WAL60326/TutorialProject

应该这样做。