通常,您可以使用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类的运行时位置在哪里?
最佳答案
我在$JBOSS_HOME/server/modules/system/layers/base/org/apache/xerces/main
中找到了我的Xerces jar,但是我不确定这是否是'standard'。它确实包含一个org.apache.xerces.impl.Version
类。我不确定为什么您无法使用JBoss的Class.forName()
加载它...
关于java - 如何在运行时查询Xerces的版本,以了解部署到JBoss 7.2的应用程序?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22791775/