我必须生成一份报告来检查部署代码的应用程序服务器的类型和版本。我使用的是 getServletContext().getServerInfo()
同样适用于 Tomcat 和 Web Logic,但如果是 Web Sphere-WAS,它的打印版本是 IBM WebSphere Application Server/8.5,而版本是8.5.5.9。我不知道为什么没有显示 .5。获取次要和主要版本的 API 也不会打印 .5 谁能帮忙。下面是一个快照,我们可以在登录页面上看到实际版本。
谢谢
最佳答案
这是 WAS 的预期行为。此信息(间接)记录在此 APAR here .
The WASProduct API getServletConfig().getServletContext ().getServerInfo() is updated to return the correct server information "IBM WebSphere Application Server/8.5".
此外,getMajorVersion
/getMinorVersion
方法返回特定 servlet 容器支持的 Servlet API 版本。这可能不适合您的目的。
在 Java 应用程序之外,您可以通过运行 versionInfo.sh|versionInfo.bat
获取有关 WebSphere 安装的详细信息,该文件位于 PROFILE_ROOT/bin
.在 Java 应用程序中,您可以使用 WebSphere 公开的 JMX 接口(interface)来访问此功能。参见 this link了解如何编写此类程序。
关于java - Servlet 信息未在 WebSphere 上获取完整版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38201689/