私の WAR は TomEE で正しいコンテキスト ルート "/myApp" の下に正常に展開されているため、次の場所に移動できます。http://localhost:8080/myApp
/myApp/WEB-INF/files の下にいくつかの静的ファイルがあります。
展開されたWARを見ると、ファイルは間違いなくそこにあります。私の問題は、私が書いたコードservletContext.getResource("/WEB-INF/files/MyFile.json")
で、ログの実際のパスが次のように見えるため、ファイルが見つからないというエラーが発生することです。
/localhost/myApp/WEB-INF/files/MyFile.json
このコードは、通常の Tomcat サーバー、Google App Engine、さらには WebSphere 7 でアプリを使用していたときに実際に機能していました。TomEE では、アプリを webapps ではなく wtpwebapps にデプロイしています。コンテキスト構成の検索を行いましたが、それらのほとんどは、アプリに "" のコンテキスト ルートを持たせること (ルート アプリにすること) を扱っています。
URL の「/localhost」の部分を削除するコードを書くことはできますが、なぜそこに配置されているのでしょうか?