如果使用Java 7构建节点,Java 6应用程序是否可以在Webpshere 8.5上运行?我有一个使用Java6开发并使用EA部署在Websphere 8.5上的EAR,但Web服务总是提供404.
感谢。
答案 0 :(得分:2)
在该版本的WebSphere中似乎没有为Java SE 6提供支持。
来自WebSphere {online documentation for WebSphere 8.5.5(不确定这是否是您正在使用的版本')
注意:Java SE 6正在从服务中删除。 Java SE 8是 推荐使用Java SDK,因为它提供了最新的功能和 安全更新。您可以继续使用Java SE 6,但不能使用任何服务 可以在支持日期结束后提供,这可能会暴露 您的环境对安全风险。
事实上,似乎这个版本的WebSphere都不支持Java SE 7
答案 1 :(得分:1)
这里有一个关于"版本"的含义的混淆。以及它如何应用于JavaEE应用程序:
选择运行服务器的JVM版本。
JavaEE规范级别用于编码应用程序中的XML文档(web.xml,application.xml,ejb-jar.xml等)。
服务器支持JavaEE规范级别。
为应用程序中打包的类设置了java编译器级别。
从技术上讲,没有与应用程序相关的特定版本。应用程序在Java 7中可能意味着"应用程序的类被编译为java7",或者" XML描述符被设置为JavaEE7",或的可用版本,& #34;应用程序的功能需要一个支持JavaEE7"。
的容器一个关键细节是,当使用WebSphere运行时,它的服务器决定运行应用程序的JavaEE规范,而不是应用程序的任何功能。
我在原始问题中猜测," Java 6应用程序"表示应用程序已编译为java6,并且应用程序功能仅限于java6中提供的功能。这应该适用于所有WebSphere v7.0,v8.0,v8.5和v9.0(在所有服务级别)。
使用分布式拓扑(具有DMGr节点和多个应用程序服务器节点)时,需要考虑一些复杂问题。常见的复杂情况是一个或多个应用服务器节点的版本低于DMgr节点。这是一种受支持的方案(对支持的版本差异有多大限制)。当拓扑(联合节点的集合)从特定WebSphere版本逐渐迁移到更高版本时,该场景是典型的,并且在迁移期间,可以使用节点版本的混合。在这种情况下,DMgr会跟踪应用程序服务器节点的版本并限制应用程序的处理,以确保部署对部署应用程序的所有应用程序服务器节点都有效。
由于JavaEE级别是由应用程序服务器版本设置的,并且由于通常更高版本的应用程序服务器实现更高的JavaEE级别,因此在应用程序服务器版本之间迁移时,应用程序可以以不同的方式运行。如果没有详细了解正在发生的确切失败,就无法知道这个问题的情况。