对于较旧的JBoss,这些机制有效:
org.jboss.mx.util.MBeanServerLocator
*:j2eeType=J2EEServer,*
的JMX MBean并获取属性serverVersion
或
jboss.system:type=Server
的MBean并获取属性Version
的值但是对于JBoss 7,MBean都不存在(也没有任何合适的类来检查,WAR位于其OSGi笼中)。我所能做的只是搜索JMX域jboss.modules:
,如果它存在推断这是一个Jboss 7。
有没有办法从WAR的init()中获取确切的版本号?