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

Java 可以在任何服务器上部署war文件吗?,java,deployment,tomcat,websphere,Java,Deployment,Tomcat,Websphere,如果这个问题很愚蠢,请原谅。假设我使用Spring框架开发一个J2EEWeb应用程序,并使用WebSphereApplicationServer开发一个MSSQLServer数据库。稍后,我将为此应用程序创建一个WAR文件 我可以在不更改代码的情况下在Tomcat服务器上部署这个WAR文件吗?或者我的问题是,这可以通过只提供Tomcat服务器的web主机托管吗?如果是,是否需要更改代码 如果无法部署,您能建议我怎么做吗,因为我还没有在tomcat服务器上开发任何应用程序。我开发的所有应用程序都是

如果这个问题很愚蠢,请原谅。假设我使用Spring框架开发一个J2EEWeb应用程序,并使用WebSphereApplicationServer开发一个MSSQLServer数据库。稍后,我将为此应用程序创建一个WAR文件

我可以在不更改代码的情况下在Tomcat服务器上部署这个WAR文件吗?或者我的问题是,这可以通过只提供Tomcat服务器的web主机托管吗?如果是,是否需要更改代码


如果无法部署,您能建议我怎么做吗,因为我还没有在tomcat服务器上开发任何应用程序。我开发的所有应用程序都是在WebSphereAppServer上使用RAD开发的。

原则上,是的WAR文件应该可以跨JavaEE服务器移植。在实践中,我不希望出现很多可移植性问题,但这在很大程度上取决于应用程序的细节以及您是否严格遵守JavaEE标准。此外,仅仅将应用程序部署到不同的环境(开发机器与宿主环境)可能会遇到障碍,与其说是WAS v Tomcat,不如说是这个环境与那个环境

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

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

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

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

4) 。你有没有碰到一个模棱两可的问题?是否存在WAS行为与Tomcat行为不同的角落案例

5) 。你依赖于过去的东西,或者你的平台做得很快,而你的taget平台却没有


我关于可移植性的一般规则是:始终尽早在各种预期部署平台上进行测试。几乎总是有人抓住了你。如果及早发现,您可以轻松修复。

部署WAR文件!!!是的,船长@阿隆人来了,纳瓦尔人!