Javaでクラスがロードされた場所を知る方法

ここでは、JavaクラスがJavaでロードされた場所を知る方法を示すヒントを紹介します。

Javaの例

" Address "というJavaクラスをロードし、 " com.mkyong.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.mkyong.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/mkyong/io/Address.class "にあります。

リンク://タグ/java/[java]