Я искал ответ повсюду, и самое близкое к моей проблеме это ответ, который не работает для меня и не объясняет, что я делаю неправильно.
Меня не интересует установка и знакомство с IDE, я просто хочу написать простую однофайловую программу java, и мне удобно работать с командной строкой. Обратите внимание, что я не очень много знаю о Java, поэтому, пожалуйста, извините меня, если я пропущу Java условных обозначений! (Я приму совет)
Мой код пока довольно прост:
/* MyTest.java */
import java.io.File;
import java.io.Exception;
import org.apache.pdfbox.pdmodel.PDDocument;
public class MyTest {
public static void main(String[] args) throws IOException {
File file = new File("[pathtopdf]");
PDFDocument document = PDDocument.load(file);
System.out.println("Successfully loaded the PDF");
}
}
Я знаю, что мне нужен LogFactory Apache с PDFBox, но мой код не уже достаточно далеко, чтобы потерпеть неудачу в этой точке.
Вот моя строка компиляции и связанный с ней вывод:
$ javac -g -Xlint:all -classpath lib/pdfbox-2.0.20.jar:. MyTest.java
$ java MyTest
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/pdfbox/pdmodel/PDDocument
at MyTest.main(MyTest.java:11)
Caused by: java.lang.ClassNotFoundException: org.apache.pdfbox.pdmodel.PDDocument
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
... 1 more
Если я извлечу файл jar и переместу папку org/
в root, он запускает , но -classpath
должен позаботиться об этом за меня. Правильно? Что мне не хватает?