在调试程序解决程序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()