java - 从 RPG 调用 Java,除我之外的所有用户均出现 ClassNotFoundError

标签 java noclassdeffounderror rpg jtopen

非常感谢您在从 RPG 调用 Java 方法时解决 ClassNotFoundError 的帮助。当除我之外的任何其他用户尝试运行我的程序时,就会发生这种情况。 从字面上看,这似乎是 CLASSPATH 或 jar 文件访问的问题,但我也从这方面进行了尝试。

说明: 我有一个 RPG 程序,它调用 jar 文件中的 java 方法。我的 CLASSPATH 包含正确的 jar(JtOpen jar 文件)。当我从绿屏和黑屏(Iseries session 管理器)运行 RPG 程序时,它运行得很好。每当其他用户尝试以相同的方式运行它时,它就会抛出以下错误消息:

RPG 过程在调用带有签名“([Ljava.lang.String;Ljava.lang.String;I”的方法“invokeApiPgm”时收到 Java 异常 java.lang.NoClassDefFoundError: com.ibm.as400.access.AS400 [Ljava.lang.String;)Z”类“callIceApi.CallIceApiPgm”

上面的签名也和我调用的方法的签名相同。 Java 提示的类似乎是 AS400 的类还是我的类?我可以看到 AS400 类是公开的。我的类的构造函数已成功创建类对象。只是在调用主方法 invokeApiPgm 时失败。

你们认为我错过了什么或搞砸了什么,伙计们?

感谢您的帮助!

特韦勒

最佳答案

显式设置类路径然后调用 RPG 程序的 CL 程序怎么样?

中电:

PGM

ADDENVVAR ENVVAR('CLASSPATH') VALUE('.:/dir1:/dirA/dirB:/javaToolkit/jt400.jar') LEVEL(*JOB)
CALL PGM(MYLIB/MYPGM)

ENDPGM

This page也可能有帮助。

关于java - 从 RPG 调用 Java,除我之外的所有用户均出现 ClassNotFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19360922/

相关文章:

java - 运行 gradle 测试时出现 NoClassDefFoundError、FxRobotException、FatalBeanException 和 ExecutionException

java - 为什么我在 java 中收到 NoClassDefFoundError 错误?

ibm-midrange - 使用一行设置 %nullind rpg

java - 如何让 Jackson 找到我的 key 解串器?

java - com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException : Unknown column 'day0_.calendar_id' in 'field list'

node.js - 使用express框架和node.js时运行时出现java.lang.NoClassDefFoundError

ibm-midrange - 在 RPGLE 程序中,为什么 EXCEPT 优先于 UPDATE 来更新 PF 中的字段?

ibm-midrange - 现在要构造返回参数以使用 XMLService 接受 bool 值吗?

java - 在 Android 应用程序中找不到 NullPointerException 的原因

java - Servlet 异常 - servlet.init()(UnsupportedClassVersion)