アプリケーションとそのアプリケーションの構成ファイルを含む JAR ファイルがあります。アプリケーションは ( を使用して) クラスパスから構成ファイルをロードClassLoader.getResource()
し、JAR ファイルに焼き付けられた構成ファイルを使用して依存関係を完全に満たします。
場合によっては、アプリケーションをわずかに異なる構成で実行したい (具体的には、別のデータベースを指すように JDBC URL をオーバーライドしたい) ため、新しい構成ファイルを作成し、正しいディレクトリ構造に保存します (つまり、クラスパスエントリのディレクトリ/config
)、そして私は次のようなことをしたい:
java -cp new-config:. -jar application.jar
しかしnew-config
、アプリケーションの JAR のコンテンツの前にパス エントリを持つクラスパスを取得できません。JAR のコンテンツが常にクラスパスの最初のものになるようにハードコーディングされていますか?