在跑程序時,有些時候會發現NoSuchMethodException,出現這種情況很大情況都是包衝突導致的
爲了查看程序在運行時加載了哪裏包,我們可以在調試程序加一些啓動參數
如: -verbose就可以查看所加載的類
設置過程如下:
運程程序之後就會有類似的東西出現
[Opened C:\Program Files\Java\jre7\lib\rt.jar]
[Loaded java.lang.Object from C:\Program Files\Java\jre7\lib\rt.jar]
[Loaded java.io.Serializable from C:\Program Files\Java\jre7\lib\rt.jar]
[Loaded java.lang.Comparable from C:\Program Files\Java\jre7\lib\rt.jar]
[Loaded java.lang.CharSequence from C:\Program Files\Java\jre7\lib\rt.jar]
[Loaded java.lang.String from C:\Program Files\Java\jre7\lib\rt.jar]
[Loaded java.lang.reflect.GenericDeclaration from C:\Program Files\Java\jre7\lib\rt.jar]
[Loaded java.lang.reflect.Type from C:\Program Files\Java\jre7\lib\rt.jar]
[Loaded java.lang.reflect.AnnotatedElement from C:\Program Files\Java\jre7\lib\rt.jar]
[Loaded java.lang.Class from C:\Program Files\Java\jre7\lib\rt.jar]
[Loaded java.lang.Cloneable from C:\Program Files\Java\jre7\lib\rt.jar]
[Loaded java.lang.ClassLoader from C:\Program Files\Java\jre7\lib\rt.jar]
[Loaded java.lang.System from C:\Program Files\Java\jre7\lib\rt.jar]
[Loaded java.lang.Throwable from C:\Program Files\Java\jre7\lib\rt.jar]
[Loaded java.lang.Error from C:\Program Files\Java\jre7\lib\rt.jar]
[Loaded java.lang.ThreadDeath from C:\Program Files\Java\jre7\lib\rt.jar]
[Loaded java.lang.Exception from C:\Program Files\Java\jre7\lib\rt.jar]
[Loaded java.lang.RuntimeException from C:\Program Files\Java\jre7\lib\rt.jar]
[Loaded java.security.ProtectionDomain from C:\Program Files\Java\jre7\lib\rt.jar]
[Loaded java.security.AccessControlContext from C:\Program Files\Java\jre7\lib\rt.jar]
[Loaded java.lang.ReflectiveOperationException from C:\Program Files\Java\jre7\lib\rt.jar]
[Loaded java.lang.ClassNotFoundException from C:\Program Files\Java\jre7\lib\rt.jar]
上面的信息就是說你加載的類是從哪個jar包裏面來的
這樣就可以確定你加載的包對還是不對