2011-02-26 148 views
0

当我尝试运行我的JSF文件中的一个(其中使用RichFaces的标签)我得到的堆栈跟踪: (当我不使用RichFaces标签库它只是罚款)JSF JSTL问题

java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config 
     at com.sun.faces.application.view.JspViewHandlingStrategy.executePageToBuildView(JspViewHandlingStrategy.java:340) 
at  com.sun.faces.application.view.JspViewHandlingStrategy.buildView(JspViewHandlingStrategy.ja va:150) 
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:96) 
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:97) 
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:135) 
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:309) 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:306) 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240) 
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) 
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164) 
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) 
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:541) 
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:383) 
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:243) 
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188) 
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:288) 
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 
at java.lang.Thread.run(Thread.java:662) 
Caused by: java.lang.ClassNotFoundException: javax.servlet.jsp.jstl.core.Config 
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1676) 
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1521) 
... 21 more 

这是我的web.xmal:

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmln s:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"  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"> 
    <servlet> 
<servlet-name>Faces Servlet</servlet-name> 
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> 
<load-on-startup>1</load-on-startup> 

<servlet-mapping> 
<servlet-name>Faces Servlet</servlet-name> 
<url-pattern>/faces/*</url-pattern> 

<context-param> 
<description>State saving method: 'client' or 'server' (=default). See JSF Specification 2.5.2</description> 
<param-name>javax.faces.STATE_SAVING_METHOD</param-name> 
<param-value>client</param-value> 

javax.servlet.jsp.jstl.fmt.localizationContext resources.application

com.sun.faces.config.ConfigureListener

<context-param> 
<param-name>org.ajax4jsf.VIEW_HANDLERS</param-name> 
    <param-value>com.sun.facelets.FaceletViewHandler</param-value> 
</context-param> 



</web-app> 

它不会在任何jsp文件上运行,因此我认为它没有附加正确的impl就可以了脸上配置服务器

我的项目是Maven的问题可能就不会停错的pom.xml的?:

<?xml version="1.0" encoding="UTF-8"?> 

http://maven.apache.org/maven-v4_0_0.xsd generted “ 的xmlns:的xsi =” http://www.w3.org/2001/XMLSchema-instance“> 4.0.0 org.springframework.samples.spring 弹簧休眠效用 1.0.0.CI-SNAPSHOT jar Spring Hibernate Utility http://www.springframework.org 真正 3.0.0.RELEASE 严格 假

<dependencies> 
    <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>4.7</version> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-test</artifactId> 
     <version>${spring.framework.version}</version> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-context-support</artifactId> 
     <version>${spring.framework.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-aop</artifactId> 
     <version>${spring.framework.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-orm</artifactId> 
     <version>${spring.framework.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>commons-dbcp</groupId> 
     <artifactId>commons-dbcp</artifactId> 
     <version>1.2.2</version> 
    </dependency> 
    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-core</artifactId> 
     <version>3.3.2.GA</version> 
    </dependency> 
    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-annotations</artifactId> 
     <version>3.3.1.GA</version> 
    </dependency> 
    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-commons-annotations</artifactId> 
     <version>3.3.0.ga</version> 
    </dependency> 
    <dependency> 
     <groupId>javassist</groupId> 
     <artifactId>javassist</artifactId> 
     <version>3.6.0.GA</version> 
    </dependency> 
    <dependency> 
     <groupId>org.slf4j</groupId> 
     <artifactId>slf4j-jcl</artifactId> 
     <version>1.5.8</version> 
    </dependency> 
    <dependency> 
     <groupId>hsqldb</groupId> 
     <artifactId>hsqldb</artifactId> 
     <version>1.8.0.10</version> 
    </dependency> 
    <dependency> 
     <groupId>aspectj</groupId> 
     <artifactId>aspectjrt</artifactId> 
     <version>1.5.4</version> 
    </dependency> 
    <dependency> 
     <groupId>aspectj</groupId> 
     <artifactId>aspectjweaver</artifactId> 
     <version>1.5.4</version> 
    </dependency> 
    <dependency> 
     <groupId>log4j</groupId> 
     <artifactId>log4j</artifactId> 
     <version>1.2.14</version> 
    </dependency> 


    <!-- added by yoav str --> 

    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-hibernate3</artifactId> 
     <version>2.0.8</version> 
    </dependency> 

    <dependency> 
     <groupId>org.richfaces.framework</groupId> 
     <artifactId>richfaces-impl-jsf2</artifactId> 
     <version>3.3.3.Final</version> 
    </dependency> 


    <dependency> 
     <groupId>org.richfaces.ui</groupId> 
     <artifactId>richfaces-ui</artifactId> 
     <version>3.2.1.GA</version> 
    </dependency><!--   

    <dependency> 
     <groupId>org.hdiv</groupId> 
     <artifactId>hdiv-jstl-taglibs-1.1.2</artifactId> 
     <version>2.0.4</version> 
    </dependency> 


--></dependencies> 

<build> 
    <pluginManagement> 
     <plugins> 
      <plugin> 
       <groupId>com.springsource.bundlor</groupId> 
       <artifactId>com.springsource.bundlor.maven</artifactId> 
       <version>1.0.0.M1B</version> 
      </plugin> 
      <plugin> 
       <artifactId>maven-assembly-plugin</artifactId> 
       <inherited>false</inherited> 
       <configuration> 
        <descriptorRefs> 
         <descriptorRef>project</descriptorRef> 
        </descriptorRefs> 
       </configuration> 
      </plugin> 
     </plugins> 
    </pluginManagement> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <configuration> 
       <source>1.5</source> 
       <target>1.5</target> 
      </configuration> 
     </plugin> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-surefire-plugin</artifactId> 
      <configuration> 
       <!--forkMode>pertest</forkMode--> 
       <includes> 
        <include>**/*Tests.java</include> 
       </includes> 
       <excludes> 
        <exclude>**/Abstract*.java</exclude> 
       </excludes> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 

<repositories> 
<repository> 
    <releases> 
     <enabled>true</enabled> 
    </releases> 
    <snapshots> 
     <enabled>false</enabled> 
     <updatePolicy>never</updatePolicy> 
    </snapshots> 
    <id>repository.jboss.com</id> 
    <name>Jboss Repository for Maven</name> 
    <url> 
     http://repository.jboss.com/maven2/ 
    </url> 
    <layout>default</layout> 
     </repository> 
</repositories> 

<pluginRepositories> 
     <pluginRepository> 
     <id>Codehaus</id> 
     <url>http://repository.codehaus.org/</url> 
     <snapshots> 
      <enabled>false</enabled> 
     </snapshots> 
    </pluginRepository> 
</pluginRepositories> 
<distributionManagement> 
    <downloadUrl>http://www.springframework.org/download</downloadUrl> 
    <site> 
     <id>staging</id> 
     <url>file:///${user.dir}/target/staging/org.springframework.batch.archetype/${pom.artifactId}</url> 
    </site> 
    <repository> 
     <id>spring-release</id> 
     <name>Spring Release Repository</name> 
     <url>file:///${user.dir}/target/staging/release</url> 
    </repository> 
    <snapshotRepository> 
     <id>spring-snapshot</id> 
     <name>Spring Snapshot Repository</name> 
     <url>file:///${user.dir}/target/staging/snapshot</url> 
    </snapshotRepository> 
</distributionManagement> 

我也得到这个错误在错误日志中,这可能是什么原因?

org.eclipse.emf.ecore.resource.Resource$IOWrappedException: Feature 'span' not found. (file:///C:/springsource/sts-2.5.2.RELEASE/com/sun/faces/metadata/taglib/facelets_jsf_core.taglib.xml, 453, 52) 
at org.eclipse.emf.ecore.xmi.impl.XMLLoadImpl.handleErrors(XMLLoadImpl.java:83) 
at org.eclipse.emf.ecore.xmi.impl.XMLLoadImpl.load(XMLLoadImpl.java:191) 
at org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl.doLoad(XMLResourceImpl.java:180) 
at org.eclipse.emf.ecore.resource.impl.ResourceImpl.load(ResourceImpl.java:1494) 
at org.eclipse.jst.jsf.facelet.core.internal.registry.taglib.TagModelLoader.loadFromInputStream(TagModelLoader.java:100) 
at org.eclipse.jst.jsf.facelet.core.internal.registry.taglib.JarFileFaceletTaglibLocator.processJar(JarFileFaceletTaglibLocator.java:237) 
at org.eclipse.jst.jsf.facelet.core.internal.registry.taglib.JarFileFaceletTaglibLocator.start(JarFileFaceletTaglibLocator.java:126) 
at org.eclipse.jst.jsf.facelet.core.internal.registry.taglib.JarFileFaceletTaglibLocator.start(JarFileFaceletTaglibLocator.java:1) 
at org.eclipse.jst.jsf.facelet.core.internal.registry.taglib.ProjectTaglibDescriptor$1.run(ProjectTaglibDescriptor.java:82) 
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) 
at org.eclipse.jst.jsf.facelet.core.internal.registry.taglib.ProjectTaglibDescriptor.initialize(ProjectTaglibDescriptor.java:71) 
at org.eclipse.jst.jsf.facelet.core.internal.registry.taglib.ProjectTaglibDescriptor.getTagLibraries(ProjectTaglibDescriptor.java:117) 
at org.eclipse.jst.jsf.facelet.core.internal.registry.FaceletTagRegistry.initialize(FaceletTagRegistry.java:155) 
at org.eclipse.jst.jsf.facelet.core.internal.registry.FaceletTagRegistry.getAllTagLibraries(FaceletTagRegistry.java:110) 
at org.eclipse.jst.jsf.facelet.core.internal.registry.FaceletTagRegistry.getTagLibrary(FaceletTagRegistry.java:201) 
at org.eclipse.jst.jsf.facelet.core.internal.metadata.FaceletNamespaceMetaDataLocator.locateMetaDataModelProviders(FaceletNamespaceMetaDataLocator.java:53) 
at org.eclipse.jst.jsf.common.metadata.internal.DomainLoadingStrategy.locateMetaDataSourceInstances(DomainLoadingStrategy.java:143) 
at org.eclipse.jst.jsf.common.metadata.internal.DomainLoadingStrategy.load(DomainLoadingStrategy.java:55) 
at org.eclipse.jst.jsf.common.metadata.internal.MetaDataModel.load(MetaDataModel.java:93) 
at org.eclipse.jst.jsf.common.metadata.internal.MetaDataModelManager.loadMetadata(MetaDataModelManager.java:147) 
at org.eclipse.jst.jsf.common.metadata.internal.MetaDataModelManager.getModel(MetaDataModelManager.java:90) 
at org.eclipse.jst.jsf.common.metadata.query.TaglibDomainMetaDataQueryHelper.getMDModel(TaglibDomainMetaDataQueryHelper.java:205) 
at org.eclipse.jst.jsf.common.metadata.query.TaglibDomainMetaDataQueryHelper.getModel(TaglibDomainMetaDataQueryHelper.java:90) 
at org.eclipse.jst.jsf.common.metadata.query.TaglibDomainMetaDataQueryHelper.getEntities(TaglibDomainMetaDataQueryHelper.java:123) 
at org.eclipse.jst.jsf.common.metadata.query.TaglibDomainMetaDataQueryHelper.getEntity(TaglibDomainMetaDataQueryHelper.java:101) 
at org.eclipse.jst.jsf.metadataprocessors.MetaDataEnabledProcessingFactory.getAttributeValueRuntimeTypeFeatureProcessors(MetaDataEnabledProcessingFactory.java:102) 
at org.eclipse.jst.jsf.metadataprocessors.MetaDataEnabledProcessingFactory.getAttributeValueRuntimeTypeFeatureProcessors(MetaDataEnabledProcessingFactory.java:128) 
at org.eclipse.jst.jsf.validation.internal.strategy.AttributeValidatingStrategy.validateNonELAttributeValue(AttributeValidatingStrategy.java:660) 
at org.eclipse.jst.jsf.validation.internal.strategy.AttributeValidatingStrategy.access$1(AttributeValidatingStrategy.java:637) 
at org.eclipse.jst.jsf.validation.internal.strategy.AttributeValidatingStrategy$1.run(AttributeValidatingStrategy.java:184) 
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) 
at org.eclipse.jst.jsf.validation.internal.strategy.AttributeValidatingStrategy.validateAttributeValue(AttributeValidatingStrategy.java:166) 
at org.eclipse.jst.jsf.validation.internal.strategy.AttributeValidatingStrategy.validate(AttributeValidatingStrategy.java:142) 
at org.eclipse.jst.jsf.validation.internal.XMLViewDefnValidator.validateTag(XMLViewDefnValidator.java:99) 
at org.eclipse.jst.jsf.validation.internal.XMLViewDefnValidator.validateRegions(XMLViewDefnValidator.java:177) 
at org.eclipse.jst.jsf.validation.internal.XMLViewDefnValidator.validateView(XMLViewDefnValidator.java:134) 
at org.eclipse.jst.jsf.ui.internal.validation.JSFValidator.validateFile(JSFValidator.java:173) 
at org.eclipse.jst.jsp.core.internal.validation.JSPValidator.validate(JSPValidator.java:249) 
at org.eclipse.wst.validation.Validator$V2.validate(Validator.java:1159) 
at org.eclipse.wst.validation.internal.ValManager.validate(ValManager.java:704) 
at org.eclipse.wst.validation.internal.ValManager$1.visit(ValManager.java:665) 
at org.eclipse.wst.validation.internal.ValManager.accept(ValManager.java:810) 
at org.eclipse.wst.validation.internal.ValManager.validate(ValManager.java:669) 
at org.eclipse.wst.validation.internal.ValBuilderJob$Visitor.visit(ValBuilderJob.java:299) 
at org.eclipse.core.internal.resources.Resource$2.visit(Resource.java:112) 
at org.eclipse.core.internal.resources.Resource$1.visitElement(Resource.java:64) 
at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:82) 
at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:86) 
at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:86) 
at org.eclipse.core.internal.watson.ElementTreeIterator.iterate(ElementTreeIterator.java:127) 
at org.eclipse.core.internal.resources.Resource.accept(Resource.java:74) 
at org.eclipse.core.internal.resources.Resource.accept(Resource.java:110) 
at org.eclipse.core.internal.resources.Resource.accept(Resource.java:94) 
at org.eclipse.wst.validation.internal.ValBuilderJob.fullBuild(ValBuilderJob.java:219) 
at org.eclipse.wst.validation.internal.ValBuilderJob.run(ValBuilderJob.java:178) 
at org.eclipse.wst.validation.internal.ValBuilderJob.runInWorkspace(ValBuilderJob.java:126) 
at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38) 
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) 
Caused by: org.eclipse.emf.ecore.xmi.FeatureNotFoundException: Feature 'span' not found. (file:///C:/springsource/sts-2.5.2.RELEASE/com/sun/faces/metadata/taglib/facelets_jsf_core.taglib.xml, 453, 52) 
at org.eclipse.emf.ecore.xmi.impl.XMLHandler.handleFeature(XMLHandler.java:1777) 
at org.eclipse.emf.ecore.xmi.impl.XMLHandler.processElement(XMLHandler.java:1023) 
at org.eclipse.emf.ecore.xmi.impl.XMLHandler.startElement(XMLHandler.java:1001) 
at org.eclipse.emf.ecore.xmi.impl.XMLHandler.startElement(XMLHandler.java:712) 
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:501) 
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1363) 
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2755) 
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648) 
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511) 
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808) 
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737) 
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119) 
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205) 
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522) 
at javax.xml.parsers.SAXParser.parse(SAXParser.java:395) 
at org.eclipse.emf.ecore.xmi.impl.XMLLoadImpl.load(XMLLoadImpl.java:181) 

感谢您的时间和精力

+0

Tomcat不附带JSTL。你需要添加JSTL到你的maven的东西(并请修复代码格式和英文:))。 – BalusC 2011-02-26 00:36:40

+0

通知它适用于不是richfacesw(意思是它的作品的h和f前缀的问题是richfaces) – 2011-02-26 14:37:17

回答

0

这种添加到您的pom.xml: -

<dependency> 
    <groupId>javax.servlet</groupId> 
    <artifactId>jstl</artifactId> 
    <version>1.1.2</version> 
</dependency> 
+0

谢谢你的时间和精力,我已经尝试过了,它可能是我的方面。 – 2011-02-26 10:55:28

0

我得到了同样的错误在Tomcat的7.0.26与JSF的2.1.x 。我不得不回滚到JSF 2.0.x.仅供参考,当添加jstl库时,我得到了一个 java.lang.NullPointerException