我在restlet项目中遇到一个问题,只有将EAR部署在restsphere服务器项目的Websphere中时,我才必须对一些操作进行编码。我们有什么方法可以通过代码获取信息,以了解EAR / WAR部署在哪里? (是否将EAR部署在Websphere或Tomcat或其他服务器中。)
答案 0 :(得分:1)
尝试实例化一些WebSphere API类。如果获得NoClassDefFound,则它可能不在WebSphere上运行。您可能必须要做class.forName(Websphere class),这样您的代码才能在Websphere之外编译。
答案 1 :(得分:0)
例如,如果仅需要检查Servlet / Filter类中的内容,则可以查找与WebSphere相关的Servlet上下文属性,例如com.ibm.websphere.servlet.application.name = Default Web Application
。如果已安装,则可以在/snoop
servlet中找到一些属性looi = king。
或者,正如Bruce建议的那样,尝试加载一些WebSphere类,并为不存在的错误做好准备。