0

次のシナリオ:

実行可能な jar としてコンパイルされた小さなサービスのシステム用の管理ツールを拡張しています。これらのサービスは、多数のタスクのためにクラスパスで xml 構成を使用します。

コンパイルされたjarファイルからdb構成などの構成ファイルを抽出し、クラスパスに動的に追加したいと考えています。これまでは、データベースの設定を変更したい場合、スイート全体を再コンパイルする必要がありました。

私が試したこと:
java -Xbootclasspath/p:/path/db.xml java -jar Foo.jar- これにより Java vm エラーが発生 しますjava -Xbootclasspath/p:/path/db.jar java -jar Foo.jar- これは何もしないようです。クラスパスで以下のスクリプトを使用して xml ファイルを見つけようとしましたが、できませんでした。xml は jar 内に直接配置されます (で作成jar cvMf db.jar db.xml)

私が使用したスクリプト:

ZipFile zf;
    ZipFile zf;
try{
    zf = new ZipFile("Foo.jar");
} catch(final ZipException e){
    throw new Error(e);
} catch(final IOException e){
    throw new Error(e);
}
final Enumeration e = zf.entries();
while(e.hasMoreElements()){
    final ZipEntry ze = (ZipEntry) e.nextElement();
    final String fileName = ze.getName();
    final boolean accept = Pattern.compile(".*(xml)").matcher(fileName).matches();
    if(accept){
        log.debug(fileName);
    }
}

誰かがこの問題を解決してくれることを願っています。

4

1 に答える 1

0

xml を再パッケージ化したところ、正常に動作するようになりました。無駄な投稿すみません。

于 2014-12-03T20:31:10.210 に答える