1

こんにちは、

JBOSS 5.1 に EAR ファイルをデプロイしています。「display-name」の下のデプロイメント ファイル「application.xml」に格納されている EAR アプリケーション名にアクセスできるようにしたいと考えています。

この情報を読み取り、EAR にデプロイされたすべてのモジュールを表示する方法を admin-webapp に深く適用したい

この情報を検索するには、application.xml が正しい場所だと思います...

私が試した:

InputStream in = new MyController().getClass().getResourceAsStream("META-INF/application.xml");

しかし、動作しません!nullを返す...

提案?(コードをお願いします)

4

2 に答える 2

3

パスの先頭にスラッシュを追加します。

InputStream in = new MyController().getClass().getResourceAsStream("/META-INF/application.xml");

それはうまくいくはずです。

しかし、より良い解決策は JMX を使用することだと思います。デプロイされたアプリケーションを含むアプリ サーバー リソースにアクセスするための高レベルの API を提供します。このアプローチの欠点は、コードが JBoss 固有のものになるのではないかと心配していることです。

于 2011-02-23T09:04:58.487 に答える
0

私は解決しました:

    ClassLoader loader = getClass().getClassLoader();
    URL url = loader.getResource("META-INF/application.xml");
    BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream()));
    while (true) {
        String line = reader.readLine();
        System.out.println(line);
        if (line == null) {
            break;
        }
    }

このようにして問題を解決し、サンプルのコンテンツを印刷します...

しかし、私は高レベルのAPIを検索して、アプリサーバーのリソースにアクセスします...

最善の方法は何ですか?

于 2011-02-23T09:49:49.027 に答える