ClassPathにファイルを追加するにはどうすればよいですか。
-
26-10-2019 - |
質問
ClassPath(Maven-Jar-Pluginによって生成された)にいくつかの構成を追加したいのですが、瓶の中ではなく外部フォルダーにそれらを望んでいません。そうすれば、再パッケージなしで構成を編集できます。 1つの解決策を見つけました execプラグインを使用してアプリを実行するときにクラスパスエントリを追加する方法 しかし、それほど複雑ではない解決策はありますか?
または、私が間違っているのかもしれませんし、それは悪いパターンです - クラスパスに構成を保存し、瓶の外に?ユーザーのホームディレクトリにアプリの構成を保存して、実行時にアプリに追加する方が良いでしょうか?
たとえば、エンドユーザーがlog4j.propertiesと翻訳を編集できるようにします。
よろしく、
解決
アプリの構成(あなたが提案したようにユーザーホームディレクトリなど)を探すデフォルトの場所を持つことをお勧めしますが、ユーザーはこの場所をオーバーライドするためにAgrument/Systemプロパティを提供できるようにします。 ClassPathの概念はほとんどのユーザーにとってかなり異質なものであり、一部のプログラマーにとって決定するのが難しいため、ClassPathを見ることは最良の解決策ではありません。
他のヒント
MELVは正しいと思います - 構成をホームディレクトリに保存し、それを変更する機能を提供する方が良いですが、誰かがClassPathに何かを追加する必要がある場合は、次のコードを追加できます <configuration><archive>
.
<manifestEntries>
<Class-Path>config/</Class-Path>
<mode>development</mode>
<url>${pom.url}</url>
</manifestEntries>
宣言する場合 <addClasspath>true</addClasspath>
, 、依存関係のクラスパスも追加されます。