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]