3

私の 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」の部分を削除するコードを書くことはできますが、なぜそこに配置されているのでしょうか?

4

2 に答える 2

2

これは、次の形式をとる Tomcat の内部 jndi URL の 1 つに似ています。

jndi:/hostname/contextPath/pathInWebApp

TomEE のバグが見つかったようです。

于 2013-11-27T10:28:51.330 に答える