2016-11-19 1 views
1

PDFからAdobeフォームデータを抽出するコマンドラインユーティリティを作成していますJavaコマンドラインアプリケーションの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 

Javaへのjarライブラリのワイルドカードパスを渡す正しい方法は何ですか?

+1

クラスパスのワイルドカードただ '瓶/ * :.' – 11thdimension

+0

感謝を置きます。あなたはそれを答えとして書くことができますか?なぜjars/*。jarが失敗するのですか? –

答えて

2

正しい方法は、単純にjars/*を使用することです。 Oracle JREのクラスパス・ワイルドカードは、ファイル名の一部ではなく、.jarのファイルのリストを表します。ここではドキュメントからの引用です:

クラスパスエントリは、.jarまたは拡張子を持つディレクトリ内 のすべてのファイルのリストを指定するのと同じと考えられているベース名のワイルドカード文字(*)、 を含めることができます。 JAR。例えば、 クラスパスエントリmydir/*mydirという名前のディレクトリ 内のすべてのJARファイルを指定します。 *から成るクラスパスエントリは、現在のディレクトリ内の すべてのjarファイルのリストに展開されます。ファイルは、非表示かどうかにかかわらず、 とみなされます(名前は '。'で始まります)。

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

+0

([*クラスパスにフォルダ内のすべてのJARファイルを追加]も参照http://stackoverflow.com/documentation/java/372​​0/the-classpath/12854/adding-all-jars-in-a-folder-toクラスパス#t = 201611192355232530489)。 – trashgod

関連する問題