Java JSP在CQ5中不编译?
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/23338390/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
JSP does not compile in CQ5?
提问by Oliver
I am currently working on Adobe CQ 5.5, few days back I tried connecting to and External Database i.e. Oracle.
我目前正在使用 Adobe CQ 5.5,几天前我尝试连接到外部数据库,即 Oracle。
I succedded in that but later on I suddenly started getting weird errors.
我成功了,但后来我突然开始遇到奇怪的错误。
When ever I create new component i.e. JSP , the JSP doesn't get compiled and Classfile is not created under /var/classes/org/apache/jsp/apps
当我创建新组件即 JSP 时,JSP 不会被编译并且 Classfile 不会在 /var/classes/org/apache/jsp/apps 下创建
WHY ?????When I was trying to connect to Database I added dependent OSGi Jars in Felix console, can these jars be reponsible for the Error ??? Just guessing.. I tried removing the jars still JSP doesn't compile . sometimes it say Class cast sometimes something else ....
为什么 ?????当我尝试连接到数据库时,我在 Felix 控制台中添加了依赖的 OSGi 罐子,这些罐子可以对错误负责吗???只是猜测.. 我尝试删除罐子仍然 JSP 不编译。有时它会说 Class cast 有时是别的东西......
Edited:: First It said taglib not found,and now it says something else this is another trace. sometimes it works,sometimes it doesn't what do I do ?? CQ is behaving weird
编辑::首先它说没有找到 taglib,现在它说别的东西,这是另一个跟踪。有时它有效,有时它不起作用我该怎么办??CQ表现得很奇怪
Error during include of component '/apps/xxx/components/loginpage'
Error Message:
org.apache.sling.api.scripting.ScriptEvaluationException: org.apache.sling.scripting.jsp.jasper.JasperException: Unable to compile class for JSP
Processing Info:
Page = /content/mywebsite/Login
Resource Path = /content/mywebsite/Login/jcr:content
Cell = loginpage
Cell Search Path = loginpage|page
Component Path = /apps/xxx/components/loginpage
Sling Request Progress:
0 (2014-04-29 10:36:22) TIMER_START{Request Processing}
0 (2014-04-29 10:36:22) COMMENT timer_end format is {<elapsed msec>,<timer name>} <optional message>
0 (2014-04-29 10:36:22) LOG Method=GET, PathInfo=/content/mywebsite/Login.html
0 (2014-04-29 10:36:22) TIMER_START{ResourceResolution}
0 (2014-04-29 10:36:22) TIMER_END{0,ResourceResolution} URI=/content/mywebsite/Login.html resolves to Resource=JcrNodeResource, type=cq:Page, superType=null, path=/content/mywebsite/Login
0 (2014-04-29 10:36:22) LOG Resource Path Info: SlingRequestPathInfo: path='/content/mywebsite/Login', selectorString='null', extension='html', suffix='null'
0 (2014-04-29 10:36:22) TIMER_START{ServletResolution}
0 (2014-04-29 10:36:22) TIMER_START{resolveServlet(JcrNodeResource, type=cq:Page, superType=null, path=/content/mywebsite/Login)}
0 (2014-04-29 10:36:22) TIMER_END{0,resolveServlet(JcrNodeResource, type=cq:Page, superType=null, path=/content/mywebsite/Login)} Using servlet /libs/foundation/components/primary/cq/Page/Page.jsp
0 (2014-04-29 10:36:22) TIMER_END{0,ServletResolution} URI=/content/mywebsite/Login.html handled by Servlet=/libs/foundation/components/primary/cq/Page/Page.jsp
0 (2014-04-29 10:36:22) LOG Applying Requestfilters
0 (2014-04-29 10:36:22) LOG Calling filter: org.apache.sling.bgservlets.impl.BackgroundServletStarterFilter
0 (2014-04-29 10:36:22) LOG Calling filter: org.apache.sling.rewriter.impl.RewriterFilter
0 (2014-04-29 10:36:22) LOG Calling filter: com.day.cq.wcm.core.impl.WCMRequestFilter
0 (2014-04-29 10:36:22) LOG Calling filter: org.apache.sling.i18n.impl.I18NFilter
0 (2014-04-29 10:36:22) LOG Calling filter: com.day.cq.theme.impl.ThemeResolverFilter
0 (2014-04-29 10:36:22) LOG Calling filter: com.day.cq.wcm.foundation.forms.impl.FormsHandlingServlet
0 (2014-04-29 10:36:22) LOG Calling filter: org.apache.sling.engine.impl.debug.RequestProgressTrackerLogFilter
0 (2014-04-29 10:36:22) LOG Calling filter: com.day.cq.wcm.mobile.core.impl.redirect.RedirectFilter
0 (2014-04-29 10:36:22) LOG RedirectFilter did not redirect (MobileUtil.isMobileResource() returns false)
0 (2014-04-29 10:36:22) LOG Calling filter: com.day.cq.wcm.core.impl.warp.TimeWarpFilter
0 (2014-04-29 10:36:22) LOG Applying Componentfilters
0 (2014-04-29 10:36:22) LOG Calling filter: com.day.cq.wcm.core.impl.WCMComponentFilter
0 (2014-04-29 10:36:22) LOG Calling filter: com.day.cq.wcm.core.impl.WCMDebugFilter
0 (2014-04-29 10:36:22) TIMER_START{/libs/foundation/components/primary/cq/Page/Page.jsp#0}
1 (2014-04-29 10:36:22) LOG Including resource JcrNodeResource, type=xxx/components/loginpage, superType=null, path=/content/mywebsite/Login/jcr:content (SlingRequestPathInfo: path='/content/mywebsite/Login/jcr:content', selectorString='null', extension='html', suffix='null')
1 (2014-04-29 10:36:22) TIMER_START{resolveServlet(JcrNodeResource, type=xxx/components/loginpage, superType=null, path=/content/mywebsite/Login/jcr:content)}
1 (2014-04-29 10:36:22) TIMER_END{0,resolveServlet(JcrNodeResource, type=xxx/components/loginpage, superType=null, path=/content/mywebsite/Login/jcr:content)} Using servlet /apps/xxx/components/loginpage/loginpage.jsp
1 (2014-04-29 10:36:22) LOG Applying Includefilters
1 (2014-04-29 10:36:22) LOG Calling filter: com.day.cq.wcm.core.impl.WCMComponentFilter
1 (2014-04-29 10:36:22) LOG Calling filter: com.day.cq.wcm.core.impl.WCMDebugFilter
1 (2014-04-29 10:36:22) TIMER_START{/apps/xxx/components/loginpage/loginpage.jsp#1}
77 (2014-04-29 10:36:22) LOG SCRIPT ERROR: org.apache.sling.scripting.jsp.jasper.JasperException: Unable to compile class for JSP
77 (2014-04-29 10:36:22) TIMER_END{76,/apps/xxx/components/loginpage/loginpage.jsp#1}
78 (2014-04-29 10:36:22) LOG Found processor for post processing ProcessorConfiguration: {contentTypes=[text/html],order=-1, active=true, valid=true, processErrorResponse=true, pipeline=(generator=Config(type=htmlparser, config={}), transformers=(Config(type=linkchecker, config={}), Config(type=mobile, config=org.apache.sling.jcr.resource.JcrPropertyMap@ae983e), Config(type=mobiledebug, config=org.apache.sling.jcr.resource.JcrPropertyMap@8d2f9f), Config(type=contentsync, config=org.apache.sling.jcr.resource.JcrPropertyMap@1317315), serializer=Config(type=htmlwriter, config={}))}
79 (2014-04-29 10:36:22) TIMER_END{79,Request Processing} Dumping SlingRequestProgressTracker Entries
Full Exception:
org.apache.sling.api.scripting.ScriptEvaluationException: org.apache.sling.scripting.jsp.jasper.JasperException: Unable to compile class for JSP
at org.apache.sling.scripting.core.impl.DefaultSlingScript.call(DefaultSlingScript.java:385)
at org.apache.sling.scripting.core.impl.DefaultSlingScript.eval(DefaultSlingScript.java:170)
at org.apache.sling.scripting.core.impl.DefaultSlingScript.service(DefaultSlingScript.java:456)
at org.apache.sling.engine.impl.request.RequestData.service(RequestData.java:500)
at org.apache.sling.engine.impl.filter.SlingComponentFilterChain.render(SlingComponentFilterChain.java:45)
at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:64)
at com.day.cq.wcm.core.impl.WCMDebugFilter.doFilterWithErrorHandling(WCMDebugFilter.java:183)
at com.day.cq.wcm.core.impl.WCMDebugFilter.doFilter(WCMDebugFilter.java:150)
at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:60)
at com.day.cq.wcm.core.impl.WCMComponentFilter.doFilter(WCMComponentFilter.java:219)
at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:60)
at org.apache.sling.engine.impl.SlingRequestProcessorImpl.processComponent(SlingRequestProcessorImpl.java:257)
at org.apache.sling.engine.impl.SlingRequestProcessorImpl.dispatchRequest(SlingRequestProcessorImpl.java:297)
at org.apache.sling.engine.impl.request.SlingRequestDispatcher.dispatch(SlingRequestDispatcher.java:216)
at org.apache.sling.engine.impl.request.SlingRequestDispatcher.include(SlingRequestDispatcher.java:103)
at com.day.cq.wcm.core.impl.WCMComponentFilter$ForwardRequestDispatcher.include(WCMComponentFilter.java:381)
at org.apache.jsp.libs.foundation.components.primary.cq.Page.Page_jsp._jspService(Page_jsp.java:106)
at org.apache.sling.scripting.jsp.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.apache.sling.scripting.jsp.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:420)
at org.apache.sling.scripting.jsp.JspServletWrapperAdapter.service(JspServletWrapperAdapter.java:59)
at org.apache.sling.scripting.jsp.JspScriptEngineFactory.callJsp(JspScriptEngineFactory.java:233)
at org.apache.sling.scripting.jsp.JspScriptEngineFactory.access0(JspScriptEngineFactory.java:85)
at org.apache.sling.scripting.jsp.JspScriptEngineFactory$JspScriptEngine.eval(JspScriptEngineFactory.java:453)
at org.apache.sling.scripting.core.impl.DefaultSlingScript.call(DefaultSlingScript.java:358)
at org.apache.sling.scripting.core.impl.DefaultSlingScript.eval(DefaultSlingScript.java:170)
at org.apache.sling.scripting.core.impl.DefaultSlingScript.service(DefaultSlingScript.java:456)
at org.apache.sling.engine.impl.request.RequestData.service(RequestData.java:500)
at org.apache.sling.engine.impl.filter.SlingComponentFilterChain.render(SlingComponentFilterChain.java:45)
at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:64)
at com.day.cq.wcm.core.impl.WCMDebugFilter.doFilter(WCMDebugFilter.java:147)
at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:60)
at com.day.cq.wcm.core.impl.WCMComponentFilter.filterRootInclude(WCMComponentFilter.java:308)
at com.day.cq.wcm.core.impl.WCMComponentFilter.doFilter(WCMComponentFilter.java:141)
at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:60)
at org.apache.sling.engine.impl.SlingRequestProcessorImpl.processComponent(SlingRequestProcessorImpl.java:257)
at org.apache.sling.engine.impl.filter.RequestSlingFilterChain.render(RequestSlingFilterChain.java:49)
at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:64)
at com.day.cq.wcm.core.impl.warp.TimeWarpFilter.doFilter(TimeWarpFilter.java:106)
at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:60)
at com.day.cq.wcm.mobile.core.impl.redirect.RedirectFilter.doFilter(RedirectFilter.java:296)
at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:60)
at org.apache.sling.engine.impl.debug.RequestProgressTrackerLogFilter.doFilter(RequestProgressTrackerLogFilter.java:59)
at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:60)
at com.day.cq.wcm.foundation.forms.impl.FormsHandlingServlet.doFilter(FormsHandlingServlet.java:220)
at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:60)
at com.day.cq.theme.impl.ThemeResolverFilter.doFilter(ThemeResolverFilter.java:76)
at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:60)
at org.apache.sling.i18n.impl.I18NFilter.doFilter(I18NFilter.java:117)
at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:60)
at com.day.cq.wcm.core.impl.WCMRequestFilter.doFilter(WCMRequestFilter.java:89)
at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:60)
at org.apache.sling.rewriter.impl.RewriterFilter.doFilter(RewriterFilter.java:83)
at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:60)
at org.apache.sling.bgservlets.impl.BackgroundServletStarterFilter.doFilter(BackgroundServletStarterFilter.java:135)
at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:60)
at org.apache.sling.engine.impl.SlingRequestProcessorImpl.processRequest(SlingRequestProcessorImpl.java:153)
at org.apache.sling.engine.impl.SlingMainServlet.service(SlingMainServlet.java:206)
at org.apache.felix.http.base.internal.handler.ServletHandler.doHandle(ServletHandler.java:96)
at org.apache.felix.http.base.internal.handler.ServletHandler.handle(ServletHandler.java:79)
at org.apache.felix.http.base.internal.dispatch.ServletPipeline.handle(ServletPipeline.java:42)
at org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:49)
at org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:33)
at org.apache.sling.i18n.impl.I18NFilter.doFilter(I18NFilter.java:117)
at org.apache.felix.http.base.internal.handler.FilterHandler.doHandle(FilterHandler.java:88)
at org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:76)
at org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:47)
at org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:33)
at com.adobe.granite.license.impl.LicenseCheckFilter.doFilter(LicenseCheckFilter.java:179)
at org.apache.felix.http.base.internal.handler.FilterHandler.doHandle(FilterHandler.java:88)
at org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:76)
at org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:47)
at org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:33)
at org.apache.sling.security.impl.ReferrerFilter.doFilter(ReferrerFilter.java:238)
at org.apache.felix.http.base.internal.handler.FilterHandler.doHandle(FilterHandler.java:88)
at org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:76)
at org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:47)
at org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:33)
at org.apache.sling.engine.impl.log.RequestLoggerFilter.doFilter(RequestLoggerFilter.java:75)
at org.apache.felix.http.base.internal.handler.FilterHandler.doHandle(FilterHandler.java:88)
at org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:76)
at org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:47)
at org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:33)
at org.apache.felix.http.base.internal.dispatch.FilterPipeline.dispatch(FilterPipeline.java:48)
at org.apache.felix.http.base.internal.dispatch.Dispatcher.dispatch(Dispatcher.java:39)
at org.apache.felix.http.base.internal.DispatcherServlet.service(DispatcherServlet.java:67)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at com.day.j2ee.servletengine.ServletRuntimeEnvironment.service(ServletRuntimeEnvironment.java:250)
at com.day.j2ee.servletengine.RequestDispatcherImpl.doFilter(RequestDispatcherImpl.java:315)
at com.day.j2ee.servletengine.RequestDispatcherImpl.service(RequestDispatcherImpl.java:334)
at com.day.j2ee.servletengine.RequestDispatcherImpl.service(RequestDispatcherImpl.java:377)
at com.day.j2ee.servletengine.ServletHandlerImpl.process(ServletHandlerImpl.java:351)
at com.day.j2ee.servletengine.HttpListener$Worker.run(HttpListener.java:625)
at java.lang.Thread.run(Unknown Source)
Caused by: org.apache.sling.api.SlingException: org.apache.sling.scripting.jsp.jasper.JasperException: Unable to compile class for JSP
at org.apache.sling.scripting.jsp.jasper.servlet.JspServletWrapper.handleJspExceptionInternal(JspServletWrapper.java:582)
at org.apache.sling.scripting.jsp.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:499)
at org.apache.sling.scripting.jsp.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:399)
at org.apache.sling.scripting.jsp.JspServletWrapperAdapter.service(JspServletWrapperAdapter.java:59)
at org.apache.sling.scripting.jsp.JspScriptEngineFactory.callJsp(JspScriptEngineFactory.java:233)
at org.apache.sling.scripting.jsp.JspScriptEngineFactory.access0(JspScriptEngineFactory.java:85)
at org.apache.sling.scripting.jsp.JspScriptEngineFactory$JspScriptEngine.eval(JspScriptEngineFactory.java:453)
at org.apache.sling.scripting.core.impl.DefaultSlingScript.call(DefaultSlingScript.java:358)
... 93 more
Caused by: java.lang.ClassCastException: com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl cannot be cast to javax.xml.parsers.SAXParserFactory
at javax.xml.parsers.SAXParserFactory.newInstance(Unknown Source)
at org.apache.taglibs.standard.tlv.JstlBaseTLV.validate(JstlBaseTLV.java:152)
at org.apache.taglibs.standard.tlv.JstlFmtTLV.validate(JstlFmtTLV.java:96)
at org.apache.sling.scripting.jsp.jasper.compiler.TagLibraryInfoImpl.validate(TagLibraryInfoImpl.java:761)
at org.apache.sling.scripting.jsp.jasper.compiler.Validator.validateXmlView(Validator.java:1774)
at org.apache.sling.scripting.jsp.jasper.compiler.Validator.validate(Validator.java:1743)
at org.apache.sling.scripting.jsp.jasper.compiler.Compiler.generateJava(Compiler.java:179)
at org.apache.sling.scripting.jsp.jasper.compiler.Compiler.compile(Compiler.java:311)
at org.apache.sling.scripting.jsp.jasper.compiler.Compiler.compile(Compiler.java:291)
at org.apache.sling.scripting.jsp.jasper.compiler.Compiler.compile(Compiler.java:278)
at org.apache.sling.scripting.jsp.jasper.JspCompilationContext.compile(JspCompilationContext.java:599)
at org.apache.sling.scripting.jsp.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:355)
... 98 more
采纳答案by Oliver
My Team Lead solved it, THIS is a BUG in CQ 5.5.Sometimes when everything is right and you haven't done anything wrong the problem could be with CQ.
我的团队负责人解决了它,这是 CQ 5.5 中的一个 BUG。有时,当一切正常并且您没有做错任何事情时,问题可能出在 CQ 上。
Solution Steps:
解决步骤:
- Shut Down CQ
- Delete the launchpad folder
- Restart CQ
- 关闭 CQ
- 删除启动板文件夹
- 重启CQ
Tada it works !!
多田它有效!!
回答by anotherdave
Your error mentions that it can't resolve the Sling tag library. Are you including a reference to it in your JSP (either directly or via the global.jsp script that references it?). I.e. within your JSP:
您的错误提到它无法解析 Sling 标签库。您是否在 JSP 中包含对它的引用(直接或通过引用它的 global.jsp 脚本?)。即在您的 JSP 中:
<%@taglib prefix="sling" uri="http://sling.apache.org/taglibs/sling/1.0" %>
<%@taglib prefix="sling" uri="http://sling.apache.org/taglibs/sling/1.0" %>
or
或者
<%@include file="/libs/foundation/global.jsp" %>
<%@include file="/libs/foundation/global.jsp" %>