可以在任何服务器上部署war文件吗?

如果这个问题很愚蠢,请原谅我。 假设我使用WebSphere应用程序服务器使用Spring框架和MS SQL-Server数据库开发J2EE Web应用程序。 我稍后为此应用程序创建一个WAR文件。

我可以在Tomcat服务器上部署此WAR文件而无需更改代码吗? 或者我的问题是,这可以由仅提供Tomcat服务器的Web主机托管吗? 如果是,是否需要更改代码?

如果无法部署,你可以建议我做什么,因为我还没有在tomcat服务器上开发任何应用程序。 我开发的所有应用程序都使用RAD在Websphere App Server上。

原则上,是的WAR文件应该可以跨Java EE服务器移植。 在实践中,我不会期望许多可移植性问题,但它在很大程度上取决于您的应用程序的细节以及您是否已经非常接近Java EE标准。 此外,只是将您的应用程序部署到不同的环境(您的开发机器与托管环境)可能会遇到障碍,而不是WAS和Tomcat这样的环境对环境的影响。

可能的问题,可能性的降序:

1)。 您是否针对相同版本的标准。

2)。 您是否使用了Java EE规范之外的任何特定于WebSphere的扩展。 大多数供应商都有一些额外的好东西,你使用过吗?

3)。 您已经对目标平台上以不同方式访问的某些资源(文件,目录,打印机,数据库)进行了硬编码。

4)。 你是否达到了规范的模糊性? 是否存在WAS行为与Tomcat行为不同的一些极端情况。

5)。 你依赖于WAS或你的平台真正快速完成的东西而你的taget平台却没有。

我的可移植性一般规则:始终在您的预期部署平台范围内进行早期测试。 几乎总有一些问题。 如果你早点发现,你可以轻松解决问题。