1

クラスパス (maven-jar-plugin によって生成された) にいくつかの構成を追加したいのですが、それらを jar 内ではなく、外部フォルダー内に配置したいと考えています。そうすれば、再パッケージせずに構成を編集できるようになります。私は1つの解決策を見つけました実行プラグインを使用してアプリを実行するときにクラスパスエントリを追加する方法ですが、それほど複雑ではない解決策はありますか?

それとも、私が間違っていて、それは悪いパターンです-構成をクラスパスに保存しますが、Jarの外に保存しますか? アプリの構成をユーザーのホーム ディレクトリに保存し、実行時にアプリに追加する方がよいでしょうか。

たとえば、エンド ユーザーが log4j.properties と翻訳を編集できるようにしたいと考えています。

よろしく、

4

2 に答える 2

1

アプリの構成を検索するデフォルトの場所(たとえば、ユーザーのホームディレクトリなど)を用意することをお勧めしますが、ユーザーが agrument/System プロパティを指定してこの場所を上書きできるようにします。私の意見では、クラスパスの概念はほとんどのユーザーにとってかなり異質なものであり、一部のプログラマーにとっては判断が難しいため、クラスパスを調べることは最善の解決策ではありません。

于 2011-03-16T23:36:54.813 に答える
0

Melvは正しいと思います-設定をホームディレクトリに保存して変更する機能を提供する方が良いですが、誰かがクラスパスに何かを追加する必要がある場合は、次のコードをに追加するだけです<configuration><archive>

<manifestEntries>
    <Class-Path>config/</Class-Path>
    <mode>development</mode>
    <url>${pom.url}</url>
</manifestEntries>

を宣言する<addClasspath>true</addClasspath>と、依存関係のクラスパスも追加されます。

于 2011-04-20T19:58:15.987 に答える