如何为java命令行应用程序指定jar库的通配符路径?

时间:2016-11-19 23:25:20

标签: java

我正在编写命令行实用程序以从PDF中提取Adobe表单数据

此命令行失败。

java -classpath jars/*.jar:. extractpdfformdata.ExtractPDFFormData --pdf csmu-asfm.pdf

这是有效的。

java -classpath jars/commons-cli-1.3.1.jar:. extractpdfformdata.ExtractPDFFormData --pdf csmu-asfm.pdf 

将jar库的通配符路径传递给java的正确方法是什么?

1 个答案:

答案 0 :(得分:3)

正确的方法是简单地使用jars/*。 Oracle JRE中的Classpath通配符表示.jar个文件的列表,而不是文件名的一部分。以下是文档中的引用:

  

类路径条目可以包含基本名称通配符(*),   这被认为等同于指定所有的列表   扩展名为.jar或.JAR的目录中的文件。例如,   类路径条目mydir/*指定目录中的所有JAR文件   名为mydir。由*组成的类路径条目扩展为列表   当前目录中的所有jar文件。文件被考虑   无论它们是否被隐藏(名称以'。'开头)。

参考:http://docs.oracle.com/javase/8/docs/technotes/tools/windows/classpath.html

上的类路径通配符