我已经从github配置了maven,JDK和克隆Sakai。一切正常,但当我点击课程时,系统会抛出以下错误
Fatal internal error handling request:
Target exception of class org.springframework.jdbc.BadSqlGrammarException
Successive lines until stack trace show causes progressing to exception site:
PreparedStatementCallback; bad SQL grammar [SELECT lti_tools.id AS id, lti_tools.version AS version, lti_tools.SITE_ID AS SITE_ID, lti_tools.title AS title, lti_tools.allowtitle AS allowtitle, lti_tools.fa_icon AS fa_icon, lti_tools.pagetitle AS pagetitle, lti_tools.allowpagetitle AS allowpagetitle, lti_tools.description AS description, lti_tools.status AS status, lti_tools.visible AS visible, lti_tools.resource_handler AS resource_handler, lti_tools.deployment_id AS deployment_id, lti_tools.launch AS launch, lti_tools.allowlaunch AS allowlaunch, lti_tools.consumerkey AS consumerkey, lti_tools.allowconsumerkey AS allowconsumerkey, lti_tools.secret AS secret, lti_tools.allowsecret AS allowsecret, lti_tools.frameheight AS frameheight, lti_tools.allowframeheight AS allowframeheight, lti_tools.siteinfoconfig AS siteinfoconfig, lti_tools.sendname AS sendname, lti_tools.sendemailaddr AS sendemailaddr, lti_tools.allowoutcomes AS allowoutcomes, lti_tools.allowroster AS allowroster, lti_tools.allowsettings AS allowsettings, lti_tools.pl_launch AS pl_launch, lti_tools.pl_linkselection AS pl_linkselection, lti_tools.pl_contenteditor AS pl_contenteditor, lti_tools.pl_importitem AS pl_importitem, lti_tools.pl_fileitem AS pl_fileitem, lti_tools.pl_assessmentselection AS pl_assessmentselection, lti_tools.newpage AS newpage, lti_tools.debug AS debug, lti_tools.custom AS custom, lti_tools.settings AS settings, lti_tools.parameter AS parameter, lti_tools.tool_proxy_binding AS tool_proxy_binding, lti_tools.allowcustom AS allowcustom, lti_tools.xmlimport AS xmlimport, lti_tools.splash AS splash, lti_tools.created_at AS created_at, lti_tools.updated_at AS updated_at FROM lti_tools WHERE (lti_tools.SITE_ID = ? OR (lti_tools.SITE_ID IS NULL AND lti_tools.visible != 1 ) ) AND (lti_tools.pl_importitem = 1) ORDER BY lti_tools.id]; nested exception is java.sql.SQLSyntaxErrorException: user lacks privilege or object not found: LTI_TOOLS in statement [SELECT lti_tools.id AS id, lti_tools.version AS version, lti_tools.SITE_ID AS SITE_ID, lti_tools.title AS title, lti_tools.allowtitle AS allowtitle, lti_tools.fa_icon AS fa_icon, lti_tools.pagetitle AS pagetitle, lti_tools.allowpagetitle AS allowpagetitle, lti_tools.description AS description, lti_tools.status AS status, lti_tools.visible AS visible, lti_tools.resource_handler AS resource_handler, lti_tools.deployment_id AS deployment_id, lti_tools.launch AS launch, lti_tools.allowlaunch AS allowlaunch, lti_tools.consumerkey AS consumerkey, lti_tools.allowconsumerkey AS allowconsumerkey, lti_tools.secret AS secret, lti_tools.allowsecret AS allowsecret, lti_tools.frameheight AS frameheight, lti_tools.allowframeheight AS allowframeheight, lti_tools.siteinfoconfig AS siteinfoconfig, lti_tools.sendname AS sendname, lti_tools.sendemailaddr AS sendemailaddr, lti_tools.allowoutcomes AS allowoutcomes, lti_tools.allowroster AS allowroster, lti_tools.allowsettings AS allowsettings, lti_tools.pl_launch AS pl_launch, lti_tools.pl_linkselection AS pl_linkselection, lti_tools.pl_contenteditor AS pl_contenteditor, lti_tools.pl_importitem AS pl_importitem, lti_tools.pl_fileitem AS pl_fileitem, lti_tools.pl_assessmentselection AS pl_assessmentselection, lti_tools.newpage AS newpage, lti_tools.debug AS debug, lti_tools.custom AS custom, lti_tools.settings AS settings, lti_tools.parameter AS parameter, lti_tools.tool_proxy_binding AS tool_proxy_binding, lti_tools.allowcustom AS allowcustom, lti_tools.xmlimport AS xmlimport, lti_tools.splash AS splash, lti_tools.created_at AS created_at, lti_tools.updated_at AS updated_at FROM lti_tools WHERE (lti_tools.SITE_ID = ? OR (lti_tools.SITE_ID IS NULL AND lti_tools.visible != 1 ) ) AND (lti_tools.pl_importitem = 1) ORDER BY lti_tools.id]
org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; bad SQL grammar [SELECT lti_tools.id AS id, lti_tools.version AS version, lti_tools.SITE_ID AS SITE_ID, lti_tools.title AS title, lti_tools.allowtitle AS allowtitle, lti_tools.fa_icon AS fa_icon, lti_tools.pagetitle AS pagetitle, lti_tools.allowpagetitle AS allowpagetitle, lti_tools.description AS description, lti_tools.status AS status, lti_tools.visible AS visible, lti_tools.resource_handler AS resource_handler, lti_tools.deployment_id AS deployment_id, lti_tools.launch AS launch, lti_tools.allowlaunch AS allowlaunch, lti_tools.consumerkey AS consumerkey, lti_tools.allowconsumerkey AS allowconsumerkey, lti_tools.secret AS secret, lti_tools.allowsecret AS allowsecret, lti_tools.frameheight AS frameheight, lti_tools.allowframeheight AS allowframeheight, lti_tools.siteinfoconfig AS siteinfoconfig, lti_tools.sendname AS sendname, lti_tools.sendemailaddr AS sendemailaddr, lti_tools.allowoutcomes AS allowoutcomes, lti_tools.allowroster AS allowroster, lti_tools.allowsettings AS allowsettings, lti_tools.pl_launch AS pl_launch, lti_tools.pl_linkselection AS pl_linkselection, lti_tools.pl_contenteditor AS pl_contenteditor, lti_tools.pl_importitem AS pl_importitem, lti_tools.pl_fileitem AS pl_fileitem, lti_tools.pl_assessmentselection AS pl_assessmentselection, lti_tools.newpage AS newpage, lti_tools.debug AS debug, lti_tools.custom AS custom, lti_tools.settings AS settings, lti_tools.parameter AS parameter, lti_tools.tool_proxy_binding AS tool_proxy_binding, lti_tools.allowcustom AS allowcustom, lti_tools.xmlimport AS xmlimport, lti_tools.splash AS splash, lti_tools.created_at AS created_at, lti_tools.updated_at AS updated_at FROM lti_tools WHERE (lti_tools.SITE_ID = ? OR (lti_tools.SITE_ID IS NULL AND lti_tools.visible != 1 ) ) AND (lti_tools.pl_importitem = 1) ORDER BY lti_tools.id]; nested exception is java.sql.SQLSyntaxErrorException: user lacks privilege or object not found: LTI_TOOLS in statement [SELECT lti_tools.id AS id, lti_tools.version AS version, lti_tools.SITE_ID AS SITE_ID, lti_tools.title AS title, lti_tools.allowtitle AS allowtitle, lti_tools.fa_icon AS fa_icon, lti_tools.pagetitle AS pagetitle, lti_tools.allowpagetitle AS allowpagetitle, lti_tools.description AS description, lti_tools.status AS status, lti_tools.visible AS visible, lti_tools.resource_handler AS resource_handler, lti_tools.deployment_id AS deployment_id, lti_tools.launch AS launch, lti_tools.allowlaunch AS allowlaunch, lti_tools.consumerkey AS consumerkey, lti_tools.allowconsumerkey AS allowconsumerkey, lti_tools.secret AS secret, lti_tools.allowsecret AS allowsecret, lti_tools.frameheight AS frameheight, lti_tools.allowframeheight AS allowframeheight, lti_tools.siteinfoconfig AS siteinfoconfig, lti_tools.sendname AS sendname, lti_tools.sendemailaddr AS sendemailaddr, lti_tools.allowoutcomes AS allowoutcomes, lti_tools.allowroster AS allowroster, lti_tools.allowsettings AS allowsettings, lti_tools.pl_launch AS pl_launch, lti_tools.pl_linkselection AS pl_linkselection, lti_tools.pl_contenteditor AS pl_contenteditor, lti_tools.pl_importitem AS pl_importitem, lti_tools.pl_fileitem AS pl_fileitem, lti_tools.pl_assessmentselection AS pl_assessmentselection, lti_tools.newpage AS newpage, lti_tools.debug AS debug, lti_tools.custom AS custom, lti_tools.settings AS settings, lti_tools.parameter AS parameter, lti_tools.tool_proxy_binding AS tool_proxy_binding, lti_tools.allowcustom AS allowcustom, lti_tools.xmlimport AS xmlimport, lti_tools.splash AS splash, lti_tools.created_at AS created_at, lti_tools.updated_at AS updated_at FROM lti_tools WHERE (lti_tools.SITE_ID = ? OR (lti_tools.SITE_ID IS NULL AND lti_tools.visible != 1 ) ) AND (lti_tools.pl_importitem = 1) ORDER BY lti_tools.id]
at org.springframework.jdbc.support.SQLExceptionSubclassTranslator.doTranslate(SQLExceptionSubclassTranslator.java:91)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:73)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:649)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:684)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:716)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:726)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:776)
at org.sakaiproject.lti.impl.DBLTIService.getResultSet(DBLTIService.java:1050)
at org.sakaiproject.lti.impl.DBLTIService.getThingsDao(DBLTIService.java:810)
at org.sakaiproject.lti.impl.DBLTIService.getToolsDao(DBLTIService.java:228)
at org.sakaiproject.lti.impl.BaseLTIService.getTools(BaseLTIService.java:528)
at org.sakaiproject.lti.impl.BaseLTIService.getToolsImportItem(BaseLTIService.java:554)
at org.sakaiproject.lessonbuildertool.tool.beans.SimplePageBean.getToolsImportItem(SimplePageBean.java:6471)
at org.sakaiproject.lessonbuildertool.tool.producers.ShowPageProducer.fillComponents(ShowPageProducer.java:767)
at uk.org.ponder.rsf.view.support.ViewCollector.fillComponents(ViewCollector.java:56)
at uk.org.ponder.rsf.view.support.LayoutCollector.fillComponents(LayoutCollector.java:68)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
at com.sun.proxy.$Proxy227.fillComponents(Unknown Source)
at uk.org.ponder.rsf.view.support.ViewGenerator.generateView(ViewGenerator.java:53)
at uk.org.ponder.rsf.processor.support.RSFRenderHandler$1.run(RSFRenderHandler.java:79)
at uk.org.ponder.rsf.processor.support.RequestInvoker$1.run(RequestInvoker.java:46)
at uk.org.ponder.util.CollectingRunnableInvoker$1.run(CollectingRunnableInvoker.java:25)
at uk.org.ponder.rsf.flow.support.BasicScopedAlterationWrapper.invokeRunnable(BasicScopedAlterationWrapper.java:59)
at uk.org.ponder.rsf.flow.support.BasicScopedAlterationWrapper$$FastClassBySpringCGLIB$$84f89202.invoke(<generated>)
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:652)
at uk.org.ponder.rsf.flow.support.BasicScopedAlterationWrapper$$EnhancerBySpringCGLIB$$497bbcf7.invokeRunnable(<generated>)
at uk.org.ponder.rsf.flow.support.BasicScopedAlterationWrapper$$FastClassBySpringCGLIB$$84f89202.invoke(<generated>)
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:652)
at uk.org.ponder.rsf.flow.support.BasicScopedAlterationWrapper$$EnhancerBySpringCGLIB$$497bbcf7.invokeRunnable(<generated>)
at uk.org.ponder.util.CollectingRunnableInvoker$1.run(CollectingRunnableInvoker.java:29)
at uk.org.ponder.util.CollectingRunnableInvoker.invokeWrappers(CollectingRunnableInvoker.java:32)
at uk.org.ponder.util.CollectingRunnableInvoker.invokeRunnable(CollectingRunnableInvoker.java:14)
at uk.org.ponder.rsf.processor.support.RequestInvoker.invokeRunnable(RequestInvoker.java:39)
at uk.org.ponder.rsf.processor.support.RSFRenderHandler.handle(RSFRenderHandler.java:75)
at uk.org.ponder.rsf.processor.support.RSFRenderHandler$$FastClassBySpringCGLIB$$5bda3a3d.invoke(<generated>)
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:652)
at uk.org.ponder.rsf.processor.support.RSFRenderHandler$$EnhancerBySpringCGLIB$$39423288.handle(<generated>)
at uk.org.ponder.rsf.processor.support.RenderHandlerBracketer.handle(RenderHandlerBracketer.java:82)
at uk.org.ponder.rsf.processor.support.RenderHandlerBracketer$$FastClassBySpringCGLIB$$3055fa0f.invoke(<generated>)
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:652)
at uk.org.ponder.rsf.processor.support.RenderHandlerBracketer$$EnhancerBySpringCGLIB$$fc1ae53e.handle(<generated>)
at uk.org.ponder.rsf.processor.support.RootHandlerBeanBase.handleGet(RootHandlerBeanBase.java:97)
at uk.org.ponder.rsf.processor.support.RootHandlerBeanBase.handle(RootHandlerBeanBase.java:79)
at org.sakaiproject.lessonbuildertool.util.RootHandlerBeanOverride.handle(RootHandlerBeanOverride.java:28)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at uk.org.ponder.reflect.JDKReflectiveCache.invokeMethod(JDKReflectiveCache.java:34)
at uk.org.ponder.reflect.JDKReflectiveCache.invokeMethod(JDKReflectiveCache.java:22)
at uk.org.ponder.reflect.JDKReflectiveCache.invokeMethod(JDKReflectiveCache.java:92)
at uk.org.ponder.rsac.support.RSACBeanLocatorImpl.createBean(RSACBeanLocatorImpl.java:553)
at uk.org.ponder.rsac.support.RSACBeanLocatorImpl.access$000(RSACBeanLocatorImpl.java:75)
at uk.org.ponder.rsac.support.RSACBeanLocatorImpl$1.run(RSACBeanLocatorImpl.java:449)
at uk.org.ponder.rsac.RSACErrorBridge.invokeRunnable(RSACErrorBridge.java:38)
at uk.org.ponder.rsac.support.RSACBeanLocatorImpl.createBean(RSACBeanLocatorImpl.java:447)
at uk.org.ponder.rsac.support.RSACBeanLocatorImpl.getLocalBean(RSACBeanLocatorImpl.java:348)
at uk.org.ponder.rsac.support.RSACBeanLocatorImpl.getBean(RSACBeanLocatorImpl.java:379)
at uk.org.ponder.rsac.support.PerRequestInfo$1.locateBean(PerRequestInfo.java:49)
at org.sakaiproject.rsf.servlet.ReasonableSakaiServlet.service(ReasonableSakaiServlet.java:89)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:411)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:720)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:466)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:358)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:318)
at org.sakaiproject.tool.impl.ActiveToolComponent$MyActiveTool.forward(ActiveToolComponent.java:513)
at org.sakaiproject.portal.charon.SkinnableCharonPortal.forwardTool(SkinnableCharonPortal.java:1474)
at org.sakaiproject.portal.charon.handlers.SiteHandler.doToolBuffer(SiteHandler.java:1227)
at org.sakaiproject.portal.charon.handlers.SiteHandler.bufferContent(SiteHandler.java:1061)
at org.sakaiproject.portal.charon.handlers.SiteHandler.doSite(SiteHandler.java:490)
at org.sakaiproject.portal.charon.handlers.SiteHandler.doGet(SiteHandler.java:266)
at org.sakaiproject.portal.charon.handlers.SiteHandler.doGet(SiteHandler.java:154)
at org.sakaiproject.portal.charon.SkinnableCharonPortal.doGet(SkinnableCharonPortal.java:853)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:460)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:522)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1095)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1502)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1458)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
我没有更改任何配置设置或任何内容。我认为bltiToolId为null或为空。