java.lang.ClassNotFoundException:javax.faces.webapp.FacesServlet

时间:2014-03-26 10:31:38

标签: jsf primefaces tomcat6 classnotfoundexception

执行JSF和PrimeFaces时出现此错误。

我已经包含了这些罐子,

  • JS​​F的API-2.0.3.jar,
  • jsf-impl-2.0.3.jar,
  • jstl-1.0.2.jar jars和
  • primefaces-2.2.RC2.jar

WEB-INF/lib文件夹中。

我有什么罐子吗?

9 个答案:

答案 0 :(得分:19)

右键单击项目属性,然后按照以下步骤

" 项目属性" - > " 部署程序集",添加 " Java构建路径条目" - > " Maven依赖"解决了这个问题!

答案 1 :(得分:9)

显然,你不会错过任何其他内容。只是尝试执行以下操作:

  1. 确保" lib"中存在必要的罐子。项目文件夹;
  2. 干净&建立;
  3. 最后,你应该找到那些包含在" build"项目文件夹。

答案 2 :(得分:4)

右键单击项目属性,然后按照以下步骤

"项目属性" - > "部署程序集",添加" Java构建路径条目" - > jsf 2.0(mojarra 2.0.3-fcs)解决了我的问题

答案 3 :(得分:1)

您也可以这样做,这解决了我的问题。
右键单击项目 - >属性 - >项目构面 - > java服务器面。

然后,如果选择了禁用的库配置选项,则将其更改为用户库,然后添加mojarra的最新版本并按OK按钮再次尝试运行该项目。 ..

应该有所帮助。

答案 4 :(得分:0)

如果您尝试使用maven将简单的java项目转换为Web项目并更改项目方面的特定项,则不会出现编译错误,但是当您开始部署时,您可以看到此错误消息。

解决这个问题吧。这是一个Web项目,需要部署为war文件(或ear)。

在pom.xml中将打包规范更改为war,然后再次编译maven。

答案 5 :(得分:0)

  1. 从此处下载JAR:http://myfaces.apache.org/download.html

  2. 将它们复制到TOMCAT lib目录。

  3. 从屏幕快照中将以下行添加到Tomcat web.xml: listener

答案 6 :(得分:0)

在jars下方添加到路径the_list.txt并进行maven更新解决了该问题。

  • jsf-api

  • jsf-impl

答案 7 :(得分:0)

我在POM中添加了jsf 2.0和mojarra 2.0.3-fcs,它解决了我的问题。

     <dependency>
        <groupId>javax.faces</groupId>
        <artifactId>jsf-api</artifactId>
        <version>2.1</version>
        <scope>provided</scope>
    </dependency>

    <dependency>
        <groupId>org.glassfish</groupId>
        <artifactId>javax.faces</artifactId>
        <version>2.4.0</version>
    </dependency>

答案 8 :(得分:-1)

我遇到了类似的问题,并在运行Maven Update几次后终于解决了该问题。仅运行一次是不够的,因为jar文件仍然损坏,因此需要确保使用任何压缩工具(如winzip或gzip)打开该文件。