お世話になります。
現在Eclipse上でJavaプログラムを作成しております。
やりたいことはJavaライブラリであるApache PDFBoxを使用して、抽出したpdf文字列を取得したいです。
Eclipseは C:\pleiades\eclipse に配置しています。
以下、コードになります。
java
1package pdfextractpj; 2 3import java.io.File; 4import java.io.IOException; 5 6import org.apache.pdfbox.pdmodel.PDDocument; 7 8//fileName:PDFBoxSample.java 9public class PDFBoxSample { 10 11 public static final void main(String[] args) throws IOException { 12 13 File file = new File("sample.pdf"); 14 15 PDDocument document = PDDocument.load(file); 16 System.out.println("総ページ数:" + document.getNumberOfPages()); 17 } 18} 19
Eclipseでjarファイルを使用するためには、クラスパスを設定する必要があると分かったため、作成したプロジェクトに対し
【ビルド・パス→ビルド・パスの構成→ライブラリー】
を選択し、クラスパスの該当箇所に
【外部JARの追加→C:\pleiades\eclipse\programs\pdfextractpj\jar\pdfbox-2.0.20.jarを選択】
として、ライブラリタブのクラスパスにpdfboxを追加しています。
ちなみに今回作成したpjのディレクトリは
【C:\pleiades\eclipse\programs\pdfextractpj】
であり、起動を試みようとしているjavaファイルは
【C:\pleiades\eclipse\programs\pdfextractpj\src\pdfextractpj\PDFBoxSample.java】
です。対象のpdfについては
【C:\pleiades\eclipse\programs\pdfextractpj\src\pdfextractpj\sample.pdf】
に置いております。
実行時のエラーは以下の通りです。
error
1Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory 2 at org.apache.pdfbox.pdmodel.PDDocument.<clinit>(PDDocument.java:98) 3 at pdfextractpj.PDFBoxSample.main(PDFBoxSample.java:15) 4Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory 5 at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581) 6 at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) 7 at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522) 8 ... 2 more
import文でエラーが起こっていないため、ライブラリの読み込み自体は行われているとは思います。
デバッグを行い変数documentに値が入っていないため起きているエラーかな。という推測はしたのですが、それ以上先に進むことができていません。
大変恐縮ではございますが、ご教示の程よろしくお願いいたします。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/19 07:49