1

我正在尝试创建一个基本的 JSF 2.0 + Facelet 应用程序,但收到此错误:

 java.lang.IllegalStateException: Application was not properly initialized at startup, could not find Factory: javax.faces.application.ApplicationFactory

我正在使用以下 JAR:

  • jsf-impl-2.1.0
  • jsf-api-2.1.0
  • jstl-1.2
  • el-ri-1.2
  • Apache MyFaces 2.1.5
4

1 回答 1

0

我正在使用以下 JAR

  • jsf-impl-2.1.0
  • jsf-api-2.1.0
  • Apache MyFaces 2.1.5

您似乎在混合 Mojarra 和 MyFaces 实现。这个不对。使用其中之一,而不是两者。和JAR 来自 Mojarra jsf-impljsf-api删除它们,或 MyFaces 之一。混合它们会导致在寻找正确的实现工厂时发生冲突,正如异常消息试图告诉你的那样。

更远,

  • el-ri-1.2

这应该是 Tomcat 已经提供的。你不应该提供你自己的。完全删除它。

总而言之,鉴于这个相当大的错误,我的印象是您在学习 JSF 时没有阅读正确的教程/资源。我建议验证这是否只是您自己的“愚蠢错误”,或者资源是否真的错误地这么说。在后一种情况下,考虑寻找另一个。

也可以看看:

于 2013-02-15T13:38:58.307 回答