是否可以在jre 5环境的容器实例运行中部署一个jdk6(或7)war?

Is it possible to deploy a jdk 6 (or 7) war in a container instance running in jre 5 environment?

我会编译一个公司遗留的 java web 项目,目前用 jdk 5 编译,用 jdk 6 编译,以升级一些正在使用的库的版本,比如 Struts、轴等...

由于此应用需要部署在Tomcat5.5实例中,运行在jre 5环境下,与其他多个项目共享,Tomcat和jre版本都不能升级.

我想知道是否有可能部署一个 war 包含使用比 jre(版本 5)运行 更新的 java 版本(版本 6 或 7)编译的代码容器?

每个JDK版本都有一些变化,您需要了解您项目中的代码是否使用了这些变化的功能,如果与您的代码无关,您可以升级

简答:否

长答案: 可以使用“-target 1.5”编译您的代码。然而,在这种情况下,所有代码(包括任何捆绑的依赖项)也需要使用“-target 1.5”进行编译,这违背了升级 JDK 的全部目的。您还需要注意不要使用 Java 6(或 7)中引入的任何 API,而不是在您的代码中或捆绑的依赖项中。

换句话说,尝试这样做是没有意义的,因为无论如何都无法利用任何潜在的好处。