如何通过编程获得java版jboss7?

如何通过编程获得java版jboss7?,java,jboss,Java,Jboss,我使用了j boss 4.2.2到最新版本。我在get all java development kit中使用了java development kit 1.5到1.7最新版本的所有j boss版本。如何获得java代码中的j boss版本。试试本教程: 或者这样:对于5,有一个属性文件:/org/jboss/version.properties,其中键version.major和version.minor查找您的案例。Sust将文件加载到属性并读取。请参阅下面的链接: 此文件也保存在jbos

我使用了j boss 4.2.2到最新版本。我在get all java development kit中使用了java development kit 1.5到1.7最新版本的所有j boss版本。如何获得java代码中的j boss版本。

试试本教程:


或者这样:

对于5,有一个属性文件:/org/jboss/version.properties,其中键version.major和version.minor查找您的案例。Sust将文件加载到属性并读取。请参阅下面的链接:

此文件也保存在jboss6.1中

我意识到你要的是jboss7。。。。但我留下了我所做的工作,以防可能有用(无论如何,这是一种适用于5和6版本的方法) 对于jboss7,我找到了两种方法:

道路1
从github I中检出代码时,在源代码中再也找不到这个版本的.properties。 但是我可以找到一个Version.class,它将版本和发布代码名称存储为属性;您可以使用Version.AS_Version从源代码中看到您想要的内容:

    public class Version {
        public static final String AS_VERSION;
        public static final String AS_RELEASE_CODENAME;
        public static final int MANAGEMENT_MAJOR_VERSION = 1;
        public static final int MANAGEMENT_MINOR_VERSION = 4;
        public static final int MANAGEMENT_MICRO_VERSION = 0;

        static {
            InputStream stream =         Version.class.getClassLoader().getResourceAsStream("META-INF/MANIFEST.MF");
            Manifest manifest = null;
            try {
                if (stream != null)
                    manifest = new Manifest(stream);
            } catch (Exception e) {
            }

            String version = null, code = version;
            if (manifest != null) {
                version = manifest.getMainAttributes().getValue("JBossAS-Release-        Version");
        code = manifest.getMainAttributes().getValue("JBossAS-Release-Codename");
    }
    if (version == null) {
        version = "Unknown";
    }
    if (code == null) {
        code = "Unknown";
    }

    AS_VERSION = version;
    AS_RELEASE_CODENAME = code;
}
}

途径2

我在谷歌上发现的另一个选项是通过JMX(也许你更喜欢这种方法),但我个人没有验证:

从jboss admin命令行界面,您可以从以下命令获取信息: /:读取属性(名称=发布版本)
/:读取属性(名称=发布代码名)

注:


源代码现在在git clone下(jboss网站仍然发送到一个过时的链接)

好的,谢谢我尝试了这个方法,我尝试了方法2,它很有效。
    ModelControllerClient client = ModelControllerClient.Factory.create(InetAddress.getByName("localhost"), 9999);  
    ModelNode op = new ModelNode();  
    op.get(ClientConstants.OP).set("read-resource");  

    ModelNode returnVal = client.execute(op);  
    logger.info("release-version: " + returnVal.get("result").get("release-version").asString());  
    logger.info("release-codename: " + returnVal.get("result").get("release-codename").asString());