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