java 如何查看jar包加載順序
查看jar包加載順序
查看具體的class從哪個jar保重加載的
在JVM啟動時,加上如下參數:
-verbose:class
然後哦就會有如下輸出
[Loaded java.util.regex.Pattern from /Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/Home/jre/lib/rt.jar]
jar包中類的加載順序(類名沖突)
javac是用來編譯*.java文件的
如果 .java文件中有import引入的類,那麼在編譯的時候,也需要這些類,否則報錯。
javac -cp a.jar;b.jar; xxxx.java
在windows下,多個jar包用分號隔開
如果a.jar與b.jar都有類com.A。那麼執行 java -cp a.jar;b.jar;./ XXX時,哪個jar包在前面,就加載哪個jar包裡面的類。
跟類的加載機制有關系。自定義類都是AppClassLoader加載,同一個加載器,一個類隻能加載一次。
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。
推薦閱讀:
- 聊聊在獲取方法參數名方面,Spring真的就比Mybatis強?
- 一篇文章帶你入門Java基本概念
- java編譯命令基礎知識點
- Javac/javap 自帶工具簡單使用講解
- Java基礎之ClassLoader詳解