获取java中已经加载类的来源地址 博客分类: Java java类加载来源地址
程序员文章站
2024-03-19 23:37:23
...
java可以从本地,网络加载一个类,那么如何得知一个已经加载好的类的来源地址呢?
参照下面的案例即可:
Output
/E:/workspace/HibernateExample/target/classes/
即com.mkyong.io包下的类Address是从/E:/workspace/HibernateExample/target/classes/加载来的。
参照下面的案例即可:
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(); } } }
Output
/E:/workspace/HibernateExample/target/classes/
即com.mkyong.io包下的类Address是从/E:/workspace/HibernateExample/target/classes/加载来的。