我尝试在 IBM Domino 服务器上使用 PDFbox,收到 NoClassDefFoundError

PN0*_*N03 5 java jar lotus-domino pdfbox ls2j

我可以在本地运行 IBM Notes 代理而不会出现错误,但是当我在服务器上运行该代理时,出现以下错误。

LS2J 错误:在过程 GETTEMPLATE 中抛出 java.lang.NoClassDefFoundError:org.apache.pdfbox.pdmodel.PDDocument,第 79 行

我的LotusScript代理使用 LS2J 调用 java 类。java 类使用以下库:

import java.io.File;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDDocumentCatalog;
import org.apache.pdfbox.pdmodel.interactive.form.PDAcroForm;
import org.apache.pdfbox.pdmodel.interactive.form.PDField;
import org.w3c.dom.Document;
import org.w3c.dom.*;

import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;
import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException; 
Run Code Online (Sandbox Code Playgroud)

我已将以下 JAR 文件添加到 Domino 服务器,并重新启动它。

pdfbox-1.8.jar,
commons-lang-2.1.jar,
commons-logging-1.2.jar
Run Code Online (Sandbox Code Playgroud)

是否还有其他 JAR 文件需要复制到:\notes\jvm\lib\ext 或者还有其他问题吗?

Knu*_*ann 1

两种方法可以让它在服务器上运行:

  • 在服务器的notes.ini中指定变量JavaUserClasses(或JavaUserClassesExt)
    JavaUserClasses=C:\...\jvm\lib\ext
    ,然后重新启动服务器
  • 创建 Java 类型的脚本库,将 jar 文件导入为存档并在 Lotus 脚本代码中“使用”脚本库
    Use "pdfBox"

    在此输入图像描述