如何在运行时查询部署到JBoss 7.2的应用程序的Xerces版本?

时间:2014-04-01 16:36:58

标签: java jboss xerces

通常,您可以使用as documented here查询Xerces org.apache.xerces.impl.Version.getVersion()的版本。由于ClassNotFoundException,这在JBoss运行时不起作用:

代码:

Class.forName( "org.apache.xerces.impl.Version" )

输出:

java.lang.ClassNotFoundException: org.apache.xerces.impl.Version from [Module "deployment.tep-web-services.war:main" from Service Module Loader]
org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190)
org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468)
org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456)
org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398)
org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120)
org.codehaus.groovy.runtime.callsite.CallSiteClassLoader.loadClass(CallSiteClassLoader.java:51)

JBoss 7.2下Version类的运行时位置是什么?

1 个答案:

答案 0 :(得分:1)

我在$JBOSS_HOME/server/modules/system/layers/base/org/apache/xerces/main找到了我的Xerces jar,但我不确定这是不是标准'或不。它确实包含org.apache.xerces.impl.Version类。我不确定为什么你不能用JBoss的Class.forName()加载它...