Saya mencoba menggunakan PDFbox di server IBM Domino, mendapatkan NoClassDefFoundError

Saya dapat menjalankan agen IBM Notes saya secara lokal tanpa kesalahan, namun ketika saya menjalankan agen di server saya mendapatkan kesalahan berikut.

Kesalahan LS2J: Melempar java.lang.NoClassDefFoundError: org.apache.pdfbox.pdmodel.PDDocument dalam prosedur GETTEMPLATE, baris 79

Agen LotusScript saya memanggil kelas java menggunakan LS2J. Kelas java menggunakan perpustakaan berikut:

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; 

Saya telah menambahkan file JAR berikut ke server Domino, dan memulai ulang.

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

Apakah ada file JAR lain yang perlu saya salin: \notes\jvm\lib\ext atau ada yang salah?


person PN03    schedule 22.05.2015    source sumber
comment
Sudahkah kamu membaca ini? pdfbox.apache.org/1.8/dependencies.html   -  person Tilman Hausherr    schedule 22.05.2015


Jawaban (1)


Ada dua cara untuk menjalankannya di server:

  • tentukan variabel JavaUserClasses (atau JavaUserClassesExt) di notes.ini server seperti
    JavaUserClasses=C:\...\jvm\lib\ext
    dan mulai ulang server atau
  • buat Perpustakaan Skrip bertipe Java, impor toples sebagai Arsip dan "gunakan" Perpustakaan Skrip dalam kode Lotus Script
    Use "pdfBox"

    masukkan deskripsi gambar di sini

person Knut Herrmann    schedule 25.05.2015
comment
Saya menambahkan toples berikut (arsip yang diimpor, lalu sumber terlampir) ke perpustakaan skrip java saya (yang juga menyertakan kelas java yang saya gunakan untuk memproses PDF) commons-logging-1.2.jar, fontbox-1.8.8. jar dan pdfbox-app-1.8.9.jar. namun sekarang saya mendapatkan kesalahan yang berbeda.. 'Kesalahan agen: java.lang.NoClassDefFoundError: org.apache.pdfbox.pdmodel.font.PDType1Font (kegagalan inisialisasi)' - person PN03; 28.05.2015
comment
Anda harus memasukkan pdfbox-1.8.9.jar (mungkin bukan pdfbox-app-1.8.9.jar) - person Knut Herrmann; 28.05.2015
comment
Saya menambahkan file jar, termasuk pdfbox-1.8.9. jar ke folder web-inf/lib di .NSF. lalu klik kanan dan menambahkannya ke jalur pembuatan. Saya mendapatkan kesalahan LS2J Error: Threw java.lang.NoClassDefFoundError: org.apache.pdfbox.pdmodel.PDDocument - person PN03; 28.05.2015
comment
Anda harus menambahkan pdfbox-1.8.9.jar ke bagian Arsip Java Scriptlibrary seperti yang ditunjukkan pada gambar di atas. - person Knut Herrmann; 28.05.2015
comment
Folder web-inf/lib BTW diabaikan oleh agen Java (atau agen LotusScript yang memanggil bagian Java dengan LS2J). Ini hanya digunakan oleh kode Java XPages. - person Knut Herrmann; 28.05.2015