我在我的restlet项目中面临一个问题,只有当EAR部署在Websphere的restlet服务器项目中时,我才能对一些操作进行编码。有什么办法可以通过代码获取信息,了解EARWAR部署在哪里? (EAR是部署在Websphere还是Tomcat或其他服务器中)。
尝试实例化一些WebSphere API类。 如果你得到一个NoClassDefFound,它可能没有在WebSphere上运行。 你可能要做class.forName(Websphere类),这样你的代码就会在websphere之外编译。
如果你只需要检查,例如在ServletFilter类中,你可以寻找与WebSphere相关的servlet上下文属性,例如 com.ibm.websphere.servlet.application.name = Default Web Application
. 你可以找到一些属性looi=king在。/snoop
servlet,如果你已经安装了。
或者,像Bruce建议的那样,尝试加载一些WebSphere类,并准备好当它们不在时出现错误。