我通过将外部Java代码放在Java代理中来测试它们。现在,我尝试将jar文件放在我们服务器的文件系统中的jvm/lib/ext目录中。笔记中尚未输入.ini尚未...问题是,jar 文件存在于 2 个地方(在代理中和服务器的文件系统中)......这会导致笔记异常吗?我的代理失败并出现代理错误:java.lang.VerifyError:有人知道问题是什么吗?
仅供参考:我们最终将从代理中移除罐子......这只是为了测试...
java.lang.VerifyError 当您针对与运行时使用的不同库进行编译时,可能会发生。
我怀疑外部jars的编译字节码使用的jre版本与多米诺骨牌jre版本不兼容。尽管语法正确,但 jvm 多米诺骨牌使用的语义更改无法接受。如果您有权访问源代码,请检查编译它的 jre 版本。
您的 Domino JRE 比用于编译这些 JAR 文件的 JRE/JDK 版本旧。这是验证错误的原因。这些JAR文件的字节码无法通过JRE验证阶段,因为服务器JRE无法理解此代码。
在大多数情况下,没有必要将jar文件放置到服务器jvm/lib/ext文件夹中。将这些jar嵌入到脚本库/Java 代理中就足够了。
但也有一些例外,例如 DB2 jdbc 驱动程序,它们必须位于服务器 jvm/lib/ext 文件夹中,以便 java 代理程序使用 DB2 连接。