我们在Jboss Eap 6.4服务器中部署了许多war应用程序.War文件是使用Maven构建的,并热部署在Jboss EAP服务器中。 war文件的名称仅包含工件ID,不包含应用程序的实现版本,由于产品中的其他问题,我们已删除war文件名称中的版本。与版本有关的详细信息位于war内部文件在manifest.mf文件中。
我们如何获取服务器中部署的war文件的版本。
能否让我知道获取实现版本详细信息的可能选项。
答案 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”。