Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
NoClassDefFoundError:javax/el/ELResolver在运行SimpleHelloByEnteringName JSF示例时_Jsf_Tomcat_Jsf 2 - Fatal编程技术网

NoClassDefFoundError:javax/el/ELResolver在运行SimpleHelloByEnteringName JSF示例时

NoClassDefFoundError:javax/el/ELResolver在运行SimpleHelloByEnteringName JSF示例时,jsf,tomcat,jsf-2,Jsf,Tomcat,Jsf 2,我是JSF新手。我正在使用Tomcat 7.0.14并尝试运行SimpleHelloByEnteringName示例,但在启动和运行时出现以下错误 启动控制台消息: INFO: Deploying web application directory SimpleHelloByEnteringName Jun 15, 2011 7:35:42 AM com.sun.faces.config.ConfigureListener contextInitialized INFO: Initializin

我是JSF新手。我正在使用Tomcat 7.0.14并尝试运行SimpleHelloByEnteringName示例,但在启动和运行时出现以下错误

启动控制台消息:

INFO: Deploying web application directory SimpleHelloByEnteringName
Jun 15, 2011 7:35:42 AM com.sun.faces.config.ConfigureListener contextInitialized
INFO: Initializing Mojarra 2.0.3 (FCS b03) for context '/SimpleHelloByEnteringName'
Jun 15, 2011 7:35:43 AM com.sun.faces.spi.InjectionProviderFactory createInstance
INFO: JSF1048: PostConstruct/PreDestroy annotations present.  ManagedBeans methods marked with these annotations will have said annotations processed.

**Jun 15, 2011 7:35:44 AM com.sun.faces.config.processor.NavigationConfigProcessor addNavigationCasesForRule
WARNING: JSF1058: The resource referred to by to-view-id, 'result.jsp', for navigation from '/pages/inputname.jsp', does not start with '/'.  This will be added for you, but it should be corrected.**

Jun 15, 2011 7:35:44 AM com.sun.faces.config.ConfigureListener$WebConfigResourceMonitor$Monitor <init>
INFO: Monitoring jndi:/localhost/SimpleHelloByEnteringName/WEB-INF/faces-config.xml for modifications
Jun 15, 2011 7:35:44 AM org.apache.coyote.AbstractProtocolHandler start
INFO: Starting ProtocolHandler ["http-apr-8081"]
Jun 15, 2011 7:35:44 AM org.apache.coyote.AbstractProtocolHandler start
INFO: Starting ProtocolHandler ["ajp-apr-8009"]
Jun 15, 2011 7:35:44 AM org.apache.catalina.startup.Catalina start
这个问题是如何产生的?我如何解决它

警告:JSF1058:从“/pages/inputname.jsp”进行导航的视图id“result.jsp”引用的资源不以“/”开头。这将为您添加,但应予以更正

警告与问题无关。JSF已经为您修复了它,但它告诉您应该在
faces config.xml
中自己修复它


java.lang.ClassNotFoundException:javax.el.ELResolver

然而,这是相当严重的。这可能有几个原因:

  • 实际上,您运行的不是Tomcat7.0,而是缺少此类的Tomcat5.5。仔细检查一下

  • 您已经在webapp的
    WEB-INF/lib
    或Java的
    JRE/lib
    文件夹中删除了一系列特定于servletcontainer的库,例如不同servletcontainer版本(可能是Tomcat 5.5?)的
    el api.jar
    jsp api.jar
    。可能是为了克服编译问题。移动/复制特定于servletcontainer的JAR是错误的解决方案。松开并将其全部拆下

  • 您的
    web.xml
    未声明至少符合Servlet 2.5规范。既然您提到要使用Tomcat 7.0,这是一个Servlet 3.0容器,那么您应该声明
    web.xml
    conform Servlet 3.0:

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app 
        xmlns="http://java.sun.com/xml/ns/javaee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
        id="WebApp_ID" version="3.0">
    
        <!-- Your config here -->
    </web-app>
    
    
    

更新:哦,等等。。。我在谷歌上搜索了“SimpleHelloByEnteringName”,发现这实际上是一个Roseindia.net(颤栗)示例,如下所示:。我想强调的是,这个网站是互联网上的JavaEE学习资源。我强烈建议您转到其他资源


在Eclipse中执行动态web项目时,我遇到了类似的问题

NoClassDefFoundError:javax/el/ELResolver

这里的问题是项目中使用的类没有在类路径中定义。就我而言,我必须补充一点

  • el-api.jar
  • jsp-api.jar
  • servlet-api.jar
  • 进入我的Tomcat的类路径下的引导条目

    因此,在您的例子中,检查这3个jar是否存在于C:\Tomcat\lib目录中。如果不存在,则将其添加到类路径

    希望这能解决你的问题

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app 
        xmlns="http://java.sun.com/xml/ns/javaee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
        id="WebApp_ID" version="3.0">
    
        <!-- Your config here -->
    </web-app>