Richfaces el-api和Tomcat7“无法解析表达式”

时间:2015-09-01 09:42:13

标签: migration tomcat7 richfaces el tomcat6

我正在将旧的Tomcat6应用程序(JSF 1.2和RichFaces 3.3)迁移到Tomcat7。现在我收到以下错误(底部的完整堆栈跟踪):

Sep 01, 2015 11:18:57 AM com.sun.facelets.FaceletViewHandler handleRenderException
SCHWERWIEGEND: Error Rendering View[/pages/packageComponents.xhtml]
com.sun.facelets.tag.TagAttributeException: /pagecomponents/content/packageComponentsContent.xhtml @147,108 value="#{package.cmPackageComponent.cmPackage.packageId}" Failed to parse the expression [#{package.cmPackageComponent.cmPackage.packageId}]
    at com.sun.facelets.tag.TagAttribute.getValueExpression(TagAttribute.java:259)

我认为问题是旧的应用程序使用了自己的el-api库: enter image description here  而Tomcat7有自己的el-api:enter image description here开箱即用,而且这两者可能存在冲突。

问题是:

  • 有没有机会告诉服务器使用旧的 “el-ri.jar”而不是新的?
  • 旧的“el-ri.jar”会不会 与Servlet 3.0兼容吗?
  • 如何解决这个问题?

提前致谢!

PS:“-Dorg.apache.el.parser.SKIP_IDENTIFIER_CHECK = true”无法解决问题,因为未来的查询也不会有效。

完整Stacktrace:

Sep 01, 2015 11:18:57 AM com.sun.facelets.FaceletViewHandler handleRenderException
SCHWERWIEGEND: Error Rendering View[/pages/packageComponents.xhtml]
com.sun.facelets.tag.TagAttributeException: /pagecomponents/content/packageComponentsContent.xhtml @147,108 value="#{package.cmPackageComponent.cmPackage.packageId}" Failed to parse the expression [#{package.cmPackageComponent.cmPackage.packageId}]
    at com.sun.facelets.tag.TagAttribute.getValueExpression(TagAttribute.java:259)
    at com.sun.facelets.tag.jsf.ValueHolderRule$DynamicValueExpressionMetadata.applyMetadata(ValueHolderRule.java:101)
    at com.sun.facelets.tag.MetadataImpl.applyMetadata(MetadataImpl.java:36)
    at com.sun.facelets.tag.MetaTagHandler.setAttributes(MetaTagHandler.java:62)
    at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:144)
    at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
    at com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:314)
    at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:169)
    at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
    at com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:314)
    at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:169)
    at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
    at com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:314)
    at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:169)
    at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
    at com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:314)
    at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:169)
    at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
    at com.sun.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:119)
    at com.sun.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:49)
    at com.sun.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:25)
    at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:248)
    at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:294)
    at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:273)
    at com.sun.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:143)
    at com.sun.facelets.tag.ui.IncludeHandler.apply(IncludeHandler.java:60)
    at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
    at com.sun.facelets.tag.ui.DefineHandler.apply(DefineHandler.java:58)
    at com.sun.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:128)
    at com.sun.facelets.impl.DefaultFaceletContext$TemplateManager.apply(DefaultFaceletContext.java:306)
    at com.sun.facelets.impl.DefaultFaceletContext.includeDefinition(DefaultFaceletContext.java:279)
    at com.sun.facelets.tag.ui.InsertHandler.apply(InsertHandler.java:68)
    at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
    at com.sun.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:49)
    at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
    at com.sun.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:25)
    at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:248)
    at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:294)
    at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:273)
    at com.sun.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:143)
    at com.sun.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:113)
    at com.sun.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:49)
    at com.sun.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:25)
    at com.sun.facelets.impl.DefaultFacelet.apply(DefaultFacelet.java:95)
    at com.sun.facelets.FaceletViewHandler.buildView(FaceletViewHandler.java:503)
    at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:546)
    at org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:100)
    at org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:176)
    at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:109)
    at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
    at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
    at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
    at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:368)
    at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:495)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:748)
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:486)
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:411)
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:338)
    at org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:750)
    at org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:720)
    at org.apache.jsp.index_jsp._jspService(index_jsp.java:65)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:314)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Thread.java:745)
Caused by: javax.el.ELException: Failed to parse the expression [#{package.cmPackageComponent.cmPackage.packageId}]
    at org.apache.el.lang.ExpressionBuilder.createNodeInternal(ExpressionBuilder.java:145)
    at org.apache.el.lang.ExpressionBuilder.build(ExpressionBuilder.java:171)
    at org.apache.el.lang.ExpressionBuilder.createValueExpression(ExpressionBuilder.java:216)
    at org.apache.el.ExpressionFactoryImpl.createValueExpression(ExpressionFactoryImpl.java:66)
    at com.sun.facelets.tag.TagAttribute.getValueExpression(TagAttribute.java:256)
    ... 95 more
Caused by: javax.el.ELException: The identifier [package] is not a valid Java identifier as required by section 1.19 of the EL specification (Identifier ::= Java language identifier). This check can be disabled by setting the system property org.apache.el.parser.SKIP_IDENTIFIER_CHECK to true.
    at org.apache.el.parser.AstIdentifier.setImage(AstIdentifier.java:132)
    at org.apache.el.parser.ELParser.Identifier(ELParser.java:1217)
    at org.apache.el.parser.ELParser.NonLiteral(ELParser.java:1193)
    at org.apache.el.parser.ELParser.ValuePrefix(ELParser.java:1019)
    at org.apache.el.parser.ELParser.Value(ELParser.java:968)
    at org.apache.el.parser.ELParser.Unary(ELParser.java:950)
    at org.apache.el.parser.ELParser.Multiplication(ELParser.java:714)
    at org.apache.el.parser.ELParser.Math(ELParser.java:634)
    at org.apache.el.parser.ELParser.Compare(ELParser.java:446)
    at org.apache.el.parser.ELParser.Equality(ELParser.java:340)
    at org.apache.el.parser.ELParser.And(ELParser.java:284)
    at org.apache.el.parser.ELParser.Or(ELParser.java:228)
    at org.apache.el.parser.ELParser.Choice(ELParser.java:185)
    at org.apache.el.parser.ELParser.Expression(ELParser.java:177)
    at org.apache.el.parser.ELParser.DeferredExpression(ELParser.java:115)
    at org.apache.el.parser.ELParser.CompositeExpression(ELParser.java:43)
    at org.apache.el.lang.ExpressionBuilder.createNodeInternal(ExpressionBuilder.java:114)
    ... 99 more

Sep 01, 2015 11:18:57 AM com.sun.faces.lifecycle.Phase doPhase
SCHWERWIEGEND: JSF1054: (Phase ID: RENDER_RESPONSE 6, View ID: /pages/packageComponents.xhtml) Exception thrown during phase execution: javax.faces.event.PhaseEvent[source=com.sun.faces.lifecycle.LifecycleImpl@121fdd1c]
Sep 01, 2015 11:18:57 AM org.apache.catalina.core.ApplicationDispatcher invoke
SCHWERWIEGEND: Servlet.service() for servlet Faces Servlet threw exception
javax.el.ELException: The identifier [package] is not a valid Java identifier as required by section 1.19 of the EL specification (Identifier ::= Java language identifier). This check can be disabled by setting the system property org.apache.el.parser.SKIP_IDENTIFIER_CHECK to true.
    at org.apache.el.parser.AstIdentifier.setImage(AstIdentifier.java:132)
    at org.apache.el.parser.ELParser.Identifier(ELParser.java:1217)
    at org.apache.el.parser.ELParser.NonLiteral(ELParser.java:1193)
    at org.apache.el.parser.ELParser.ValuePrefix(ELParser.java:1019)
    at org.apache.el.parser.ELParser.Value(ELParser.java:968)
    at org.apache.el.parser.ELParser.Unary(ELParser.java:950)
    at org.apache.el.parser.ELParser.Multiplication(ELParser.java:714)
    at org.apache.el.parser.ELParser.Math(ELParser.java:634)
    at org.apache.el.parser.ELParser.Compare(ELParser.java:446)
    at org.apache.el.parser.ELParser.Equality(ELParser.java:340)
    at org.apache.el.parser.ELParser.And(ELParser.java:284)
    at org.apache.el.parser.ELParser.Or(ELParser.java:228)
    at org.apache.el.parser.ELParser.Choice(ELParser.java:185)
    at org.apache.el.parser.ELParser.Expression(ELParser.java:177)
    at org.apache.el.parser.ELParser.DeferredExpression(ELParser.java:115)
    at org.apache.el.parser.ELParser.CompositeExpression(ELParser.java:43)
    at org.apache.el.lang.ExpressionBuilder.createNodeInternal(ExpressionBuilder.java:114)
    at org.apache.el.lang.ExpressionBuilder.build(ExpressionBuilder.java:171)
    at org.apache.el.lang.ExpressionBuilder.createValueExpression(ExpressionBuilder.java:216)
    at org.apache.el.ExpressionFactoryImpl.createValueExpression(ExpressionFactoryImpl.java:66)
    at com.sun.facelets.tag.TagAttribute.getValueExpression(TagAttribute.java:256)
    at com.sun.facelets.tag.jsf.ValueHolderRule$DynamicValueExpressionMetadata.applyMetadata(ValueHolderRule.java:101)
    at com.sun.facelets.tag.MetadataImpl.applyMetadata(MetadataImpl.java:36)
    at com.sun.facelets.tag.MetaTagHandler.setAttributes(MetaTagHandler.java:62)
    at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:144)
    at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
    at com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:314)
    at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:169)
    at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
    at com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:314)
    at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:169)
    at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
    at com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:314)
    at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:169)
    at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
    at com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:314)
    at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:169)
    at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
    at com.sun.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:119)
    at com.sun.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:49)
    at com.sun.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:25)
    at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:248)
    at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:294)
    at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:273)
    at com.sun.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:143)
    at com.sun.facelets.tag.ui.IncludeHandler.apply(IncludeHandler.java:60)
    at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
    at com.sun.facelets.tag.ui.DefineHandler.apply(DefineHandler.java:58)
    at com.sun.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:128)
    at com.sun.facelets.impl.DefaultFaceletContext$TemplateManager.apply(DefaultFaceletContext.java:306)
    at com.sun.facelets.impl.DefaultFaceletContext.includeDefinition(DefaultFaceletContext.java:279)
    at com.sun.facelets.tag.ui.InsertHandler.apply(InsertHandler.java:68)
    at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
    at com.sun.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:49)
    at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
    at com.sun.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:25)
    at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:248)
    at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:294)
    at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:273)
    at com.sun.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:143)
    at com.sun.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:113)
    at com.sun.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:49)
    at com.sun.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:25)
    at com.sun.facelets.impl.DefaultFacelet.apply(DefaultFacelet.java:95)
    at com.sun.facelets.FaceletViewHandler.buildView(FaceletViewHandler.java:503)
    at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:546)
    at org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:100)
    at org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:176)
    at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:109)
    at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
    at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
    at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
    at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:368)
    at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:495)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:748)
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:486)
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:411)
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:338)
    at org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:750)
    at org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:720)
    at org.apache.jsp.index_jsp._jspService(index_jsp.java:65)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:314)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Thread.java:745)

Sep 01, 2015 11:18:57 AM org.apache.catalina.core.StandardWrapperValve invoke
SCHWERWIEGEND: Servlet.service() for servlet [jsp] in context with path [/CM-Tool_mvn] threw exception [javax.servlet.ServletException: Failed to parse the expression [#{package.cmPackageComponent.cmPackage.packageId}]] with root cause
javax.el.ELException: The identifier [package] is not a valid Java identifier as required by section 1.19 of the EL specification (Identifier ::= Java language identifier). This check can be disabled by setting the system property org.apache.el.parser.SKIP_IDENTIFIER_CHECK to true.
    at org.apache.el.parser.AstIdentifier.setImage(AstIdentifier.java:132)
    at org.apache.el.parser.ELParser.Identifier(ELParser.java:1217)
    at org.apache.el.parser.ELParser.NonLiteral(ELParser.java:1193)
    at org.apache.el.parser.ELParser.ValuePrefix(ELParser.java:1019)
    at org.apache.el.parser.ELParser.Value(ELParser.java:968)
    at org.apache.el.parser.ELParser.Unary(ELParser.java:950)
    at org.apache.el.parser.ELParser.Multiplication(ELParser.java:714)
    at org.apache.el.parser.ELParser.Math(ELParser.java:634)
    at org.apache.el.parser.ELParser.Compare(ELParser.java:446)
    at org.apache.el.parser.ELParser.Equality(ELParser.java:340)
    at org.apache.el.parser.ELParser.And(ELParser.java:284)
    at org.apache.el.parser.ELParser.Or(ELParser.java:228)
    at org.apache.el.parser.ELParser.Choice(ELParser.java:185)
    at org.apache.el.parser.ELParser.Expression(ELParser.java:177)
    at org.apache.el.parser.ELParser.DeferredExpression(ELParser.java:115)
    at org.apache.el.parser.ELParser.CompositeExpression(ELParser.java:43)
    at ...

1 个答案:

答案 0 :(得分:0)

据我所知,除了从tomcat的lib文件夹中删除已打包的文件夹并将其放在那里之外,我无法告诉你使用你的el jar(风险很大,很有可能它会破坏某些东西)否则在容器功能中。)

执行此操作的正确方法可能是将任何不符合要求的表达式迁移到新EL。关于具体表达,正如您已经提到的-Dorg.apache.el.parser.SKIP_IDENTIFIER_CHECK=true可以解决/解决方法。如果在应用此项后您遇到其他表达方式的困难,请分享,社区可以帮助那里。