コンテキストクラスローダからルート("/")のリソース取得時の値
アプリケーションにおいて、コンテキストクラスローダから以下のようにパスを取得すると、Java EE 5とJava EE 7で取得できるパスに違いがあります。
Thread.currentThread().getContextClassLoader().getResource("/").getPath(); |
Java EE 5ではWebアプリケーションの「WEB-INF/classes」のパスの値が取得されますが、Java EE 7ではシステムのルートパスになります。Java EE 7においてJava EE 5と同様の値を取得したい場合は、以下のように、Servlet APIを利用してパスを取得するようにしてください。
例:
getServletContext().getRealPath("/WEB-INF/classes"); |