[ https://issues.apache.org/jira/browse/CONNECTORS-1712?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17533432#comment-17533432 ]
Markus Schuch edited comment on CONNECTORS-1712 at 5/8/22 9:00 AM: ------------------------------------------------------------------- I saw the following Stacktrace when trying to create a web connector repository connection: {code} Stacktrace: at org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:521) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:430) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) at org.eclipse.jetty.jsp.JettyJspServlet.service(JettyJspServlet.java:102) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at org.eclipse.jetty.servlet.ServletHolder$NotAsyncServlet.service(ServletHolder.java:1395) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:755) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:547) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:608) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1607) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1297) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:485) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1577) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1212) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:220) at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:79) at org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:709) at org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:680) at org.apache.jsp.execute_jsp._jspService(execute_jsp.java:338) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388) ... 39 more Caused by: java.lang.RuntimeException: Velocity could not be initialized! at org.apache.velocity.runtime.RuntimeInstance.requireInitialization(RuntimeInstance.java:376) at org.apache.velocity.runtime.RuntimeInstance.getTemplate(RuntimeInstance.java:1674) at org.apache.velocity.app.VelocityEngine.mergeTemplate(VelocityEngine.java:284) at org.apache.manifoldcf.ui.i18n.Messages.outputResourceWithVelocity(Messages.java:159) at org.apache.manifoldcf.crawler.connectors.webcrawler.Messages.outputResourceWithVelocity(Messages.java:136) at org.apache.manifoldcf.crawler.connectors.webcrawler.WebcrawlerConnector.outputConfigurationHeader(WebcrawlerConnector.java:1575) at org.apache.manifoldcf.core.interfaces.ConnectorFactory.outputThisConfigurationHeader(ConnectorFactory.java:71) at org.apache.manifoldcf.crawler.interfaces.RepositoryConnectorFactory.outputConfigurationHeader(RepositoryConnectorFactory.java:147) at org.apache.jsp.editconnection_jsp._jspService(editconnection_jsp.java:451) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388) ... 67 more Caused by: java.lang.NullPointerException at org.apache.manifoldcf.core.i18n.MCFVelocityResourceLoader.getResourceStream(MCFVelocityResourceLoader.java:57) at org.apache.manifoldcf.core.i18n.MCFVelocityResourceLoader.getResourceReader(MCFVelocityResourceLoader.java:48) at org.apache.velocity.runtime.resource.loader.ResourceLoader.resourceExists(ResourceLoader.java:245) at org.apache.velocity.runtime.resource.ResourceManagerImpl.getLoaderForResource(ResourceManagerImpl.java:598) at org.apache.velocity.runtime.resource.ResourceManagerImpl.getLoaderNameForResource(ResourceManagerImpl.java:582) at org.apache.velocity.runtime.RuntimeInstance.getLoaderNameForResource(RuntimeInstance.java:1741) at org.apache.velocity.runtime.VelocimacroFactory.initVelocimacro(VelocimacroFactory.java:155) at org.apache.velocity.runtime.RuntimeInstance.init(RuntimeInstance.java:293) at org.apache.velocity.runtime.RuntimeInstance.requireInitialization(RuntimeInstance.java:371) ... 78 more {code} I'm trying to figure out what's wrong in my case. was (Author: schuchm): I saw the following Stacktrace when trying to create a web connector repository connection: {code} Stacktrace: at org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:521) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:430) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) at org.eclipse.jetty.jsp.JettyJspServlet.service(JettyJspServlet.java:102) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at org.eclipse.jetty.servlet.ServletHolder$NotAsyncServlet.service(ServletHolder.java:1395) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:755) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:547) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:608) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1607) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1297) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:485) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1577) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1212) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:220) at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:79) at org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:709) at org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:680) at org.apache.jsp.execute_jsp._jspService(execute_jsp.java:338) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388) ... 39 more Caused by: java.lang.RuntimeException: Velocity could not be initialized! at org.apache.velocity.runtime.RuntimeInstance.requireInitialization(RuntimeInstance.java:376) at org.apache.velocity.runtime.RuntimeInstance.getTemplate(RuntimeInstance.java:1674) at org.apache.velocity.app.VelocityEngine.mergeTemplate(VelocityEngine.java:284) at org.apache.manifoldcf.ui.i18n.Messages.outputResourceWithVelocity(Messages.java:159) at org.apache.manifoldcf.crawler.connectors.webcrawler.Messages.outputResourceWithVelocity(Messages.java:136) at org.apache.manifoldcf.crawler.connectors.webcrawler.WebcrawlerConnector.outputConfigurationHeader(WebcrawlerConnector.java:1575) at org.apache.manifoldcf.core.interfaces.ConnectorFactory.outputThisConfigurationHeader(ConnectorFactory.java:71) at org.apache.manifoldcf.crawler.interfaces.RepositoryConnectorFactory.outputConfigurationHeader(RepositoryConnectorFactory.java:147) at org.apache.jsp.editconnection_jsp._jspService(editconnection_jsp.java:451) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388) ... 67 more Caused by: java.lang.NullPointerException at org.apache.manifoldcf.core.i18n.MCFVelocityResourceLoader.getResourceStream(MCFVelocityResourceLoader.java:57) at org.apache.manifoldcf.core.i18n.MCFVelocityResourceLoader.getResourceReader(MCFVelocityResourceLoader.java:48) at org.apache.velocity.runtime.resource.loader.ResourceLoader.resourceExists(ResourceLoader.java:245) at org.apache.velocity.runtime.resource.ResourceManagerImpl.getLoaderForResource(ResourceManagerImpl.java:598) at org.apache.velocity.runtime.resource.ResourceManagerImpl.getLoaderNameForResource(ResourceManagerImpl.java:582) at org.apache.velocity.runtime.RuntimeInstance.getLoaderNameForResource(RuntimeInstance.java:1741) at org.apache.velocity.runtime.VelocimacroFactory.initVelocimacro(VelocimacroFactory.java:155) at org.apache.velocity.runtime.RuntimeInstance.init(RuntimeInstance.java:293) at org.apache.velocity.runtime.RuntimeInstance.requireInitialization(RuntimeInstance.java:371) ... 78 more {code} > Broken Velocity UI > ------------------ > > Key: CONNECTORS-1712 > URL: https://issues.apache.org/jira/browse/CONNECTORS-1712 > Project: ManifoldCF > Issue Type: Bug > Components: API > Affects Versions: ManifoldCF 2.22 > Reporter: Julien Massiera > Assignee: Karl Wright > Priority: Critical > > In the mcf-crawler-ui, we cannot enter in edition mode for any connector > because there is a problem with Velocity. > We obtain the following error in the logs: > > {code:java} > java.lang.NoSuchMethodError: 'void > org.apache.velocity.app.VelocityEngine.setExtendedProperties(org.apache.commons.collections.ExtendedProperties)' > at > org.apache.manifoldcf.core.i18n.Messages.createVelocityEngine(Messages.java:62) > ~[mcf-core.jar:?] > at > org.apache.manifoldcf.ui.i18n.Messages.outputResourceWithVelocity(Messages.java:132) > ~[mcf-ui-core.jar:?] > at > com.francelabs.datafari.connectors.share.Messages.outputResourceWithVelocity(Messages.java:111) > ~[?:?] > at > com.francelabs.datafari.connectors.share.SharedDriveConnector.outputSpecificationHeader(SharedDriveConnector.java:2829) > ~[?:?] > at org.apache.jsp.editjob_jsp._jspService(editjob_jsp.java:977) > ~[mcf-crawler-ui.jar:?] > at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) > ~[jasper.jar:9.0.56] > at javax.servlet.http.HttpServlet.service(HttpServlet.java:764) > ~[servlet-api.jar:4.0.FR] > at > org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:466) > ~[jasper.jar:9.0.56] > at > org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:379) > ~[jasper.jar:9.0.56] > at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:327) > ~[jasper.jar:9.0.56] > at javax.servlet.http.HttpServlet.service(HttpServlet.java:764) > ~[servlet-api.jar:4.0.FR] > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) > ~[catalina.jar:9.0.56] > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) > ~[catalina.jar:9.0.56] > at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) > ~[tomcat-websocket.jar:9.0.56] > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) > ~[catalina.jar:9.0.56] > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) > ~[catalina.jar:9.0.56] > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) > [catalina.jar:9.0.56] > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) > [catalina.jar:9.0.56] > at > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:540) > [catalina.jar:9.0.56] > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) > [catalina.jar:9.0.56] > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) > [catalina.jar:9.0.56] > at > org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687) > [catalina.jar:9.0.56] > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) > [catalina.jar:9.0.56] > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) > [catalina.jar:9.0.56] > at org.apache.coyote.ajp.AjpProcessor.service(AjpProcessor.java:433) > [tomcat-coyote.jar:9.0.56] > at > org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) > [tomcat-coyote.jar:9.0.56] > at > org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:895) > [tomcat-coyote.jar:9.0.56] > at > org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1732) > [tomcat-coyote.jar:9.0.56] > at > org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) > [tomcat-coyote.jar:9.0.56] > at > org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) > [tomcat-util.jar:9.0.56] > at > org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) > [tomcat-util.jar:9.0.56] > at > org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) > [tomcat-util.jar:9.0.56] > at java.lang.Thread.run(Thread.java:829) [?:?] {code} > > > After some investigations it seems related to the updated velocity lib from > velocity-1.7 to velocity-engine-core-2.3 > The first problem found is that the old velocity version libs and their > dependencies are still present in the MCF build for the MCF Agent AND the > mcf-crawler-ui. > The concerned libs are: > - commons-collections-3.2.2.jar > - commons-lang-2.6.jar > - velocity-1.7.jar > > The second problem is that with the new velocity version, the way to set > properties to the engine has changed. So the code in the > org.apache.manifoldcf.core.i18n.Messages.createVelocityEngine method is no > longer valid and needs to be updated to fit with the new way which is: > {code:java} > VelocityEngine engine = new VelocityEngine(); > Properties configuration = new Properties(); > configuration.setProperty(VelocityEngine.RESOURCE_LOADER,"mcf"); > .... > engine.setProperties(configuration); {code} -- This message was sent by Atlassian Jira (v8.20.7#820007)