如何从Jboss EAP 6.4中部署的所有战争中的manifest.mf文件中获取实现版本的详细信息

时间:2018-07-04 14:41:04

标签: java maven jboss jmx jboss-eap-6

我们在Jboss Eap 6.4服务器中部署了许多war应用程序.War文件是使用Maven构建的,并热部署在Jboss EAP服务器中。 war文件的名称仅包含工件ID,不包含应用程序的实现版本,由于产品中的其他问题,我们已删除war文件名称中的版本。与版本有关的详细信息位于war内部文件在manifest.mf文件中。

我们如何获取服务器中部署的war文件的版本。

能否让我知道获取实现版本详细信息的可能选项。

1 个答案:

答案 0 :(得分:0)

在战争中,您可能需要一段Java代码来为您执行此操作,该代码会在first hit of the context-root期间执行。

类似的事情应该做:

公共字符串getVersionNameFromManifest()引发IOException {     InputStream manifestStream = getClass()。getClassLoader()。getResourceAsStream(“ META-INF / MANIFEST.MF”);     if(manifestStream!= null){         清单清单=新的清单(manifestStream);         属性attribute = manifest.getMainAttributes();         返回attribute.getValue(“ versionName”);

}
return "Not Found";

}

这应该返回正在使用的jar的确切版本,如果出现任何问题,它将返回一个字符串“ Not Found”。