Javaでクラスがロードされた場所を知る方法
JavaクラスがJavaのどこからロードされたかを知る方法を示すヒントを次に示します。
Javaの例
これは、「Address」というJavaクラスをロードし、「com.example.io」にパッケージ化して、このクラスがロードされた場所を出力する例です。
import java.net.URL; import java.security.CodeSource; import java.security.ProtectionDomain; public class App{ public static void main(String[] args) { try{ Class cls = Class.forName("com.example.io.Address"); ProtectionDomain pd = cls.getProtectionDomain(); CodeSource cs = pd.getCodeSource(); URL url = cs.getLocation(); System.out.println(url.getFile()); }catch(Exception ex){ ex.printStackTrace(); } } }
出力
/E:/workspace/HibernateExample/target/classes/
Javaクラス「Address」は「E:/workspace/HibernateExample/target/classes/com/example/io/Address.class」にあります