在調試程序解決程序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()