[size=small]java可以从本地,网络加载一个类,那么如何得知一个已经加载好的类的来源地址呢?
参照下面的案例即可:[/size]
[size=small]Output
/E:/workspace/HibernateExample/target/classes/
即com.mkyong.io包下的类Address是从/E:/workspace/HibernateExample/target/classes/加载来的。[/size]
参照下面的案例即可:[/size]
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();
}
}
}
[size=small]Output
/E:/workspace/HibernateExample/target/classes/
即com.mkyong.io包下的类Address是从/E:/workspace/HibernateExample/target/classes/加载来的。[/size]