0

シナリオは次のとおりです。

  • jdeveloperを使用したjspアプリケーションの開発
  • OracleWeblogicへのデプロイ
  • すべてのファイルは同じプロジェクトにあります
  • srcソースファイルは、フォルダ内のパッケージ内にあります
  • Resourcesフォルダ内には2つのファイルがあります:menu.jsonTestWS.properties

そこで、menu.json構造に基づいてメニュー(html)を読み取って返すJavaクラスを作成しました。

クラスの中で、私がこれをするとき

InputStream i =
    Thread.currentThread().getContextClassLoader().
        getResourceAsStream("Resources/menu.json");
BufferedReader r = new BufferedReader(new InputStreamReader(i));

コンストラクターは、ファイルが見つからないため、をInputStreamReaderスローします。NullPointerException

面白いことに、TestWS.properties代わりにロードしようとすると、うまくロードされます。

プロジェクトのプロパティを確認し、両方のファイルを手動で追加Project Source Path -> Resourcesし、.json拡張子をに追加しCompiler -> Copy file types to output directory、名前を変更し、削除し、再作成し、拡張子をjsonファイルに変更し、WARにデプロイして、weblogicを実行している別のマシンにプロジェクトをロードしましたが、役に立ちませんでした。

他に足りないものはありますか?

4

1 に答える 1

1

これはこの記事で説明されています。

つまり、コンパイラの設定「ファイルタイプを出力ディレクトリにコピー」を変更して、実行時に使用できるようにするリソースの拡張子を含める必要があります。

于 2012-07-16T16:23:44.973 に答える