Ubuntuシステムで次のJavaコードを実行しようとしています。コードは、pdfboxクラスを使用して空のPDFファイルを作成する必要があります。
import org.apache.pdfbox.pdmodel.*;
import java.io.*;
public class BlankPDF {
public static void main(String[] args) {
PDDocument doc = null;
try{
doc = new PDDocument();
} catch (IOException ie){
System.out.println(ie);
}
doc.addPage(new PDPage());
try{
doc.save("Empty PDF.pdf");
doc.close();
} catch (Exception io){
System.out.println(io);
}
}
}
スクリプトと同じディレクトリに次のクラス依存関係があります。
- pdfbox-1.7.0.jar
- jempbox-1.7.0.jar
- fontbox-1.7.0.jar
- commons-logging-1.1.1.jar
次のコマンドを使用してスクリプトをコンパイルしました。
sudo javac BlankPDF.java -classpath pdfbox-1.7.0.jar:fontbox-1.7.0.jar:jempbox-1.7.0.jar:commons-logging-1.1.1.jar
これは出力を返さず、.classファイルを作成しました(コンパイルが正しく機能したことを示しますか?)
しかし、次のコマンドを使用してコードを実行しようとすると、次のようになります。
sudo java BlankPDF -classpath pdfbox-1.7.0.jar:fontbox-1.7.0.jar:jempbox-1.7.0.jar:commons-logging-1.1.1.jar
このエラーが発生します:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/pdfbox/pdmodel/PDDocument
at BlankPDF.main(BlankPDF.java:15)
Caused by: java.lang.ClassNotFoundException: org.apache.pdfbox.pdmodel.PDDocument
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
... 1 more
私は何が欠けていますか?