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

I am trying to use PDFbox on the IBM Domino server, getting NoClassDefFoundError

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

LS2J Error: Threw java.lang.NoClassDefFoundError: org.apache.pdfbox.pdmodel.PDDocument in procedure GETTEMPLATE, line 79

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

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; 

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

pdfbox-1.8.jar,
commons-lang-2.1.jar,
commons-logging-1.2.jar

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

two ways 可以在服务器上到达 运行:

  • 在服务器的 notes.ini like
    中指定变量 JavaUserClasses(或 JavaUserClassesExt) JavaUserClasses=C:\...\jvm\lib\ext
    并重启服务器
  • 创建 Java 类型的脚本库,将 jars 作为存档导入,并 "use" Lotus 脚本代码中的脚本库
    Use "pdfBox"