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

如何为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库的通配符路

我正在编写一个命令行实用程序来从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的正确方法是什么?

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

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


参考:类路径通配符位于

只需放置
jars/*:。
谢谢。你能写下来作为回答吗。为什么jars/*.jar失败?它失败是因为这里的“*”不是Unix通配符。另请参阅。