【问题标题】:How to run a JSF 2.0 application on JavaEE5?如何在 JavaEE5 上运行 JSF 2.0 应用程序?
【发布时间】:2011-10-26 12:21:59
【问题描述】:

出于某种原因,我们需要在 JavaEE5 服务器 (weblogic10) 上运行 JSF2 应用程序。

在尝试使用 Java5 而不是 Java6 编译我的应用程序之前,有谁知道这是否真的可行?

【问题讨论】:

  • 您知道 Java (SE) 5 和 Java EE 5 并不相互依赖,不是吗?您应该能够在 Java 6 VM 中毫无问题地运行任何 Java EE 5 应用程序服务器(除了一些可能不同的库,您可以替换它们)。
  • AFAIK JSF 2 不依赖于 Java EE 6,因此这也不应该成为问题。您只需替换应用程序服务器的 JSF 实现即可。

标签: java jsf-2 weblogic-10.x


【解决方案1】:

JSF 2.0 与 Servlet 2.5 (Java EE 5) 容器兼容。另见Mojarra 2.0 release notes

Webtier 规范要求

此版本的 JSF 需要:

只有 JSF 2.1 需要 Servlet 3.0 (Java EE 6) 容器。另请参阅Mojarra 2.1 release notes

【讨论】:

  • 不客气。您将错过的唯一“JSF 2.0 特性”是调用非 getter 方法和在 EL 中使用参数的方法(例如 action="#{bean.edit(item)}")的能力。这是在随 Java EE 6 一起提供的 EL 2.2 中引入的。但是,您可以考虑安装 JBoss EL 以将相同的功能添加到 EL 2.1(Java EE 5 的一部分)。另请参阅stackoverflow.com/questions/6877494/…(也适用于非 JBoss 容器)。
  • 不幸的是,JBossEL 破坏了与 Tomcat6 的兼容性,因为它运行的 JSP2.1 似乎与 JBossEL 不兼容。我想更换服务器中的罐子是在这么多不同的服务器上进行构建工作的唯一解决方案。 java的构建一次,到处运行:D
  • 它适用于我在 Tomcat 6 上。也许 /WEB-INF/lib 中充斥着 EL 2.2 特定的类,例如 Glassfish 3 中的 el-api.jarel-impl.jar
猜你喜欢
  • 1970-01-01
  • 2013-07-02
  • 2011-05-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-06
  • 2011-08-25
  • 2023-03-30
相关资源
最近更新 更多