我试图用PDFbox从PDF文件中读取一些文本,我已经将类路径设置为jar,所有内容都符合错误。(我在windows7上通过cmd执行此操作)然后运行"java测试",得到以下错误Error: could not find or load main class
。我甚至尝试过PDFbox相同问题的不同示例版本的代码。。。这是我的代码
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import org.apache.pdfbox.cos.COSDocument;
import org.apache.pdfbox.pdfparser.PDFParser;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.util.PDFTextStripper;
class test {
public static void main(String args[]) {
PDFParser parser = null;
PDDocument pdDoc = null;
COSDocument cosDoc = null;
PDFTextStripper pdfStripper;
String parsedText;
String fileName = "test.pdf";
File file = new File(fileName);
try {
parser = new PDFParser(new FileInputStream(file));
parser.parse();
cosDoc = parser.getDocument();
pdfStripper = new PDFTextStripper();
pdDoc = new PDDocument(cosDoc);
parsedText = pdfStripper.getText(pdDoc);
System.out.println(parsedText.replaceAll("[^A-Za-z0-9. ]+", ""));
} catch (Exception e) {
e.printStackTrace();
try {
if (cosDoc != null)
cosDoc.close();
if (pdDoc != null)
pdDoc.close();
} catch (Exception e1) {
e.printStackTrace();
}
}
}
}
我知道这会是一件非常简单的事情,我会因为没有看到它而扇自己一巴掌,但我现在已经看了很长时间了,看不到树的木头。我在看什么?
编辑:我尝试过public class test {
同样的问题。
第二版:索尔维知道这是一个打脸的时刻。。。我设置了错误的类路径set CLASSPATH=.;C:projectpdfbox.jar
添加:
public class test {
类必须是公共的才能运行它。
OP的主类不在PDFBox jar中。因此,它的(基本)路径必须包含在类路径中。所以不是
set CLASSPATH=C:PDFBOXLIBFOLDERpdfbox.jar
他需要做例如
set CLASSPATH=.;C:PDFBOXLIBFOLDERpdfbox.jar
(如果他的测试类在当前目录中)。