我正在尝试使用pdfbox编写一个简单的pdf文件,但问题是我收到错误:
cannot find symbol class PDDocument
我已将jar文件下载到程序所在的同一文件夹中。如何解决这个编译错误?
package org.apache.pdfbox.pdmodel.PDDocument;
import java.io.*;
import org.apache.pdfbox.pdmodel.PDDocument;
public class pdf
{
public static void main(String args[])
{
}
}
将jar放在同一个文件夹或包中不会将它添加到类路径中。在运行java程序时,需要在类路径中提到jar的路径。这是以下语法:
编译:
javac -classpath .;yourjar.jar src/your/package/*.java
跑步
java -classpath .;yourjar.jar src/your/package/yourprogrammeclassname
有一个类似的问题,我发现我在java源代码中的导入行上没有正确的语法
按以下方式进行编译(在Windows上):
javac -cp .;commons-io-2.4.jar AgeFileFilterTest.java
与commons-io-2.4.jar在AgeFileFilterTest.java所在的文件夹中
我收到了错误:
import org.apache.*;
^
AgeFileFilterTest.java:24: error: cannot find symbol
displayFiles(directory, new AgeFileFilter(cutoffDate));
^
这令人费解,因为似乎一切都已到位; jar在文件夹中,在类路径中定义,在jar内容检查时,我可以看到被引用的内容 - 使用7zip我打开了jar文件,可以看到:
commons-io-2.4.jar\org\apache\commons\io\filefilter\AbstractFileFilter.class
然后我读了一些帖子 “你不导入这个课” 这让我想到了导入语法......
我改变了:
import org.apache.*;
将其更改为:
import org.apache.commons.io.filefilter.*;
和wala编译错误使用:
javac -cp。; commons-io-2.4.jar AgeFileFilterTest.java
和程序使用
java -cp .;commons-io-2.4.jar AgeFileFilterTest