我从here签出Mojarra JSF 2.0 helloworld示例(只需输入guest作为用户名)。
我将其作为maven项目导入到带有tomcat 6服务器的Eclipse(v 3.5)中。我具有在servlet容器中运行JSF 2.0的mojarra依赖关系。

当我打包它时,由于jsf依赖项具有编译范围,因此这些jar已在WEB-INF / lib中。然后我将其部署到一个新的tomcat实例中,它可以正常工作而不会抱怨ClassNotFoundException。

我的问题是,如果不将这些jar放入eclipse的tomcat实例,就无法在eclipse中运行项目。

我做错了什么吗?

最佳答案

我具有在servlet容器中运行JSF 2.0的mojarra依赖关系。


您是说您按照注释中的建议修改了所提供pom的依赖项吗?

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

    <!--
      Uncomment these dependencies and comment out the one above to use
      a simple servlet container instead of a Java EE Application Server
    <dependency>
        <groupId>com.sun.faces</groupId>
        <artifactId>jsf-api</artifactId>
        <version>[2.0.1,)</version>
    </dependency>
    <dependency>
        <groupId>com.sun.faces</groupId>
        <artifactId>jsf-impl</artifactId>
        <version>[2.0.1,)</version>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>2.5</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>javax.servlet.jsp</groupId>
        <artifactId>jsp-api</artifactId>
        <version>2.1</version>
        <scope>provided</scope>
    </dependency>
     <dependency>
         <groupId>javax.servlet.jsp.jstl</groupId>
         <artifactId>jstl-api</artifactId>
         <version>1.2</version>
     </dependency>
    <dependency>
        <groupId>org.glassfish.web</groupId>
        <artifactId>jstl-impl</artifactId>
        <version>1.2</version>
    </dependency>
    -->

</dependencies>


你能确认吗?实际上,显示修改后的pom可能会有所帮助。


  当我使用“在服务器上运行”时,总是说“找不到javax.faces.web.FacesServlet


我想你的意思是javax.faces.webapp.FacesServlet。绝对在jsf-api.jar中。并将jsf-api.jarjsf-impl.jar放入WEB-INF/lib should also work。您正在使用m2eclipse对吗?


  但是当部署到另一个tomcat实例(没有mojarra jar)时,它可以正常工作。


您是指在Eclipse之外吗?并且没有将Mojarra罐子放在Tomcat的lib文件夹中?

09-10 09:17
查看更多