如何为java命令行应用程序的jar库指定通配符路径?
我正在编写一个命令行实用程序来从PDF中提取Adobe表单数据 此命令行失败如何为java命令行应用程序的jar库指定通配符路径?,java,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 -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的正确方法是什么?正确的方法是简单地使用
jar/*
。Oracle JRE中的类路径通配符表示.jar
文件的列表,而不是文件名的一部分。以下是文档中的引用:
类路径项可以包含基名称通配符(*)
,
这被视为等同于指定所有
目录中扩展名为.jar或.jar的文件。例如
类路径条目mydir/*
指定目录中的所有JAR文件
命名为mydir
。由*
组成的类路径项扩展为
当前目录中的所有jar文件。文件被考虑在内
无论它们是否隐藏(名称以“.”开头)
参考:类路径通配符位于只需放置
jars/*:。
谢谢。你能写下来作为回答吗。为什么jars/*.jar失败?它失败是因为这里的“*”不是Unix通配符。另请参阅。