-1

重複の可能性:
クラスパスでファイルを見つける際の問題

lib フォルダー内の外部 jar ファイルが実行時に構成ファイルを読み取る必要がある場合、xml ファイルなどの構成ファイルを Java 動的 Web プロジェクトのどこに配置する必要がありますか。

4

2 に答える 2

1

つまり、これらのファイルはアプリケーションのクラスパスに到達する必要があります。Webの場合、probjectWEB-INF/classesが最適な場所です。(@Easwaramoorthy Kanagaがすでに述べたように)。

問題は、ファイルをプロジェクトのどこに配置するかです。Mavenを使用している場合は、ほとんど場所が決まりますsrc/main/resources。Mavenを使用していない場合は、とにかくそれらをリソースディレクトリに配置します。リソースディレクトリは、ディレクトリと同じレベルで定義する必要がありますsrc。たとえばsrc、プロジェクトルートの下にディレクトリがある場合resources、同じ場所にディレクトリを作成します。これらのファイルをターゲットディレクトリにコピーするようにIDEを設定します。同じことを行うようにビルドスクリプトを更新します。

于 2012-08-22T11:29:37.990 に答える
0

WEB-INF/classes フォルダーに配置できます。クラスフォルダー内にフォルダーを配置しても、完全に機能します。

もう1つ、jarファイルはハードコードされたパスで構成ファイルを読み取る必要があり、代わりに次のようにする必要があります。

String xmlFilePath = "configfile.xml";    
InputStream file = this.getClass().getClassLoader().getResourceAsStream(xmlFilePath);
于 2012-08-22T11:14:24.037 に答える