程序DEBUG:查找类所在的JAR包

在调试程序解决程序BUG时,我们常要看看所调用的类来自于那一个JAR包。要实现这一目的可以监看如下方法:

org.jbpm.JbpmConfiguration. class .getProtectionDomain()


从下面的信息可以清楚看到JbpmConfiguration类来自于D:/jbpm-starters-kit-3.1/jbpm/build/jbpm-3.1.jar:

ProtectionDomain  (file: / D: / jbpm - starters - kit - 3.1 / jbpm / build / jbpm - 3.1 .jar  < no signer certificates > )
 sun.misc.Launcher$AppClassLoader@7259da
  < no principals > 
 java.security.Permissions@17ba38f (
 (java.io.FilePermission \D:\jbpm - starters - kit - 3.1 \jbpm\build\jbpm - 3.1 .jar read)
 (java.lang.RuntimePermission exitVM)
)

查看这样的信息是很有用的。比如运行的系统中有可能存在有两个JAR包同时含有某一个类,因为JAVA的ClassLoader有先后顺序。你可能发现自己无法怎么改程序,但运行起来却象根本没有改过一样,那么原因可能就出在这里。

另外,还可以用getMethod得到所有的方法,这可以确认你增加的方法是否已经装载到JVM中了
org.jbpm.JbpmConfiguration.class.getMethods()
上一篇:malloc和new有什么区别


下一篇:App如何实现就近接入?如何改善调度不准问题?