フォルダーにたくさんの jar があり、クラスパスのセットアップを合理化するために、新しい (Java 6 の) クラスパス ワイルドカード構文を使用しています。
CLASSPATH=":/$JARS/*"
これにより、$JARS ディレクトリ内のすべての jar が取得されます。ここまでは順調ですね。
ただし、そのディレクトリには、クラスパスに最初に表示する必要がある jar が 1 つあり、ワイルドカード構文のドキュメントでは、jar の順序は実装に依存し、信頼できないと述べています。
私が考えていたのは、ワイルドカードの前に、最初に明示的に表示する必要がある 1 つの jar を追加することでした。
CLASSPATH=":/$JARS/first.jar:/$JARS/*"
first.jar
これは、最初に明示的な参照、次にワイルドカードを使用して、クラスパスに 2 回表示されることを意味します。それは私に何か問題を引き起こすでしょうか?
はい、問題を回避するために別のディレクトリに入れることができることは知ってfirst.jar
いますが、それを行うと、対処する必要のない多くの手間がかかるとだけ言っておきましょう (私はサードパーティ製品を扱っています)。 .
編集:
jar を最初に表示する必要があります。これは、別の jar (サードパーティベンダーが提供する) で同じ名前の XML ファイルをオーバーライドする必要がある XML 構成ファイル (リソースとして読み込まれる) が含まれているためです。明確にするために、first.jar
私の管理下にある唯一の瓶です。ディレクトリ内の他のすべての jar は、サード パーティ ベンダーによって提供されます。