1

TomcatのWebAppでサードパーティのライブラリを使用しています。

問題は、そのサードパーティライブラリのクラスがXMLファイルでの初期化を必要とすることです

LibraryClass lb = new LibraryClass("file path.xml");

では、Webアプリケーション内からファイルにアクセスできるようにするには、Tomcatディレクトリのどこにファイルを配置する必要がありますか?

(クラスには、たとえばStringではなく、絶対パスにaが必要であることに注意してください)FileStream

4

3 に答える 3

1

ファイルをダウンロード可能にしたくない場合は、Java ソース ディレクトリのどこかに配置してリソースにし、WEB-INF/classes にコピーします。次にServletRequest.getRealPath("/WEB-INF/classes/...")、相対パスを絶対パスに変換するために使用します。

于 2012-06-06T05:18:14.923 に答える
1

それらを WEB-INF/classes フォルダーの下に保持できます。これに関する完全な説明は、次の場所で確認できます: JSP/サーブレット Web アプリケーションで構成プロパティ ファイルを配置する場所は?

于 2012-06-06T05:20:04.877 に答える
0

他の回答と同様に、これらのファイルの最適な場所はwarバンドル内にあることに同意します。他の回答とは異なり、そのディレクトリはXMLファイルではなくクラスファイル用であるため、ファイルを配置することはお勧めしません。WEB-INF/classes

が戦争のルートにある場合path.xmlは、次のような方法でアクセスできます。

String servletDirectoryPath = this.getServletConfig().getServletContext().getRealPath("");
String xmlConfigurationFileName = "path.xml";
File xmlConfigurationFile = new File(servletDirectoryPath, xmlConfigurationFileName);
initializeThirdPartyLibrary(xmlConfigurationFile);
于 2012-06-06T05:24:47.210 に答える