[
https://issues.apache.org/jira/browse/CONNECTORS-1243?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14847334#comment-14847334
]
Jens Grassel commented on CONNECTORS-1243:
------------------------------------------
Hi Karl,
I'm using the following parameter in the tomcat's {{JAVA_OPTS}}:
{{-Dorg.apache.manifoldcf.configfile=/usr/local/src/apache-manifoldcf-2.2/dist/properties.xml
-Dorg.apache.manifoldcf.logconfigfile=/usr/local/src/apache-manifoldcf-2.2/dist/logging-webapps.ini}}
Here is the config:
{code:xml}
<configuration>
<!-- Point to the wars and configure Jetty -->
<property name="org.apache.manifoldcf.crawleruiwarpath"
value="/usr/local/src/apache-manif
oldcf-2.2/dist/web-proprietary/war/mcf-crawler-ui.war"/>
<property name="org.apache.manifoldcf.authorityservicewarpath"
value="/usr/local/src/apache-manifoldcf-2.2/dist/web-proprietary/war/mcf-authority-service.war"/>
<property name="org.apache.manifoldcf.apiservicewarpath"
value="/usr/local/src/apache-mani
foldcf-2.2/dist/web-proprietary/war/mcf-api-service.war"/>
<property name="org.apache.manifoldcf.usejettyparentclassloader"
value="true"/>
<property name="org.apache.manifoldcf.jettyport" value="8345"/>
<!-- Point to the combined war in case we start the single-process example
that way -->
<property name="org.apache.manifoldcf.combinedwarpath"
value="/usr/local/src/apache-manifoldcf-2.2/dist/web-proprietary/war/mcf-combined-service.war"/>
<!-- BEGIN auto generated options from chef! -->
<property name="org.apache.manifoldcf.login.name" value="admin"/>
<property name="org.apache.manifoldcf.login.password" value="XXX"/>
<property name="org.apache.manifoldcf.databaseimplementationclass"
value="org.apache.manifoldcf.core.database.DBInterfacePostgreSQL"/>
<property name="org.apache.manifoldcf.dbsuperusername" value="manifoldcf"/>
<property name="org.apache.manifoldcf.dbsuperuserpassword" value="XXX"/>
<property name="org.apache.manifoldcf.postgresql.hostname" value="localhost"/>
<property name="org.apache.manifoldcf.database.name" value="manifoldcf"/>
<property name="org.apache.manifoldcf.database.username" value="manifoldcf"/>
<property name="org.apache.manifoldcf.database.password" value="XXX"/>
<property name="org.apache.manifoldcf.connectorsconfigurationfile"
value="../connectors-proprietary.xml"/>
<!-- END auto generated options from chef! -->
<property name="org.apache.manifoldcf.database.maxhandles" value="200"/>
<property name="org.apache.manifoldcf.crawler.threads" value="50"/>
<property name="org.apache.manifoldcf.crawler.historycleanupinterval"
value="2592000000"/>
<!-- Point to a specific logging file -->
<property name="org.apache.manifoldcf.logconfigfile"
value="/usr/local/src/apache-manifoldcf-2.2/dist/logging.ini"/>
<!-- Specify the connectors to be loaded -->
<property name="org.apache.manifoldcf.connectorsconfigurationfile"
value="/usr/local/src/apache-manifoldcf-2.2/dist/connectors-proprietary.xml"/>
<!-- Tell MCF where to find the connector jars -->
<libdir path="/usr/local/src/apache-manifoldcf-2.2/dist/connector-lib"/>
<libdir
path="/usr/local/src/apache-manifoldcf-2.2/dist/connector-lib-proprietary"/>
<!-- WSDD references -->
<!-- Any additional properties go here -->
</configuration>
{code:xml}
And I'm just seeing that I specified the connectors config
{{org.apache.manifoldcf.connectorsconfigurationfile}} with a relative path. But
changing that to an absolute path did not affect the behaviour. :-(
> Several NoClassDefFoundError error if web apps are deployed to tomcat
> ---------------------------------------------------------------------
>
> Key: CONNECTORS-1243
> URL: https://issues.apache.org/jira/browse/CONNECTORS-1243
> Project: ManifoldCF
> Issue Type: Bug
> Affects Versions: ManifoldCF 2.2
> Environment: Running on Ubuntu 14.04 LTS.
> {code}
> % java -version
> java version "1.8.0_51"
> Java(TM) SE Runtime Environment (build 1.8.0_51-b16)
> Java HotSpot(TM) 64-Bit Server VM (build 25.51-b03, mixed mode)
> % dpkg -l | grep tomcat
> ii libtomcat7-java 7.0.52-1ubuntu0.3
> all Servlet and JSP engine -- core libraries
> ii tomcat7 7.0.52-1ubuntu0.3
> all Servlet and JSP engine
> ii tomcat7-admin 7.0.52-1ubuntu0.3
> all Servlet and JSP engine -- admin web applications
> ii tomcat7-common 7.0.52-1ubuntu0.3
> all Servlet and JSP engine -- common files
> {code}
> Reporter: Jens Grassel
> Assignee: Karl Wright
> Labels: classpath, crash, tomcat, ui
>
> Hi,
> I've just compiled the current 2.2 release using {{ant make-core-deps
> make-deps build}} and deployed the 3 WAR files into a tomcat server. After
> running {{org.apache.manifoldcf.crawler.InitializeAndRegister}} the database
> seemed to be populated and the web ui seemed workable.
> However, on certain occasions a {{java.lang.NoClassDefFoundError}} is thrown.
> I've looked into {{WEB-INF/lib}} and didn't find the needed classes in any of
> the jar files there. On the other hand copying the jars into tomcats {{lib}},
> {{common}} or {{shared}} directories didn't help either. :-(
> Regards,
> Jens
> See below for two example to reproduce this error.
> h3. Creating a RSS repository connector
> Just give it a name, select the RSS type and continue:
> {noformat}
> HTTP Status 500 - An exception occurred processing JSP page /execute.jsp at
> line 148
> type Exception report
> message An exception occurred processing JSP page /execute.jsp at line 148
> description The server encountered an internal error that prevented it from
> fulfilling this request.
> exception
> org.apache.jasper.JasperException: An exception occurred processing JSP page
> /execute.jsp at line 148
> 145: }
> 146: }
> 147:
> 148: String error =
> RepositoryConnectorFactory.processConfigurationPost(threadContext,connection.getClassName(),variableContext,pageContext.getRequest().getLocale(),connection.getConfigParams());
> 149:
> 150: if (error != null)
> 151: {
> Stacktrace:
>
> org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:568)
>
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:455)
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
> root cause
> javax.servlet.ServletException: java.lang.NoClassDefFoundError:
> org/apache/manifoldcf/connectorcommon/fuzzyml/XMLParsingContext
>
> org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:916)
>
> org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:845)
> org.apache.jsp.execute_jsp._jspService(execute_jsp.java:2550)
> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
>
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
> root cause
> java.lang.NoClassDefFoundError:
> org/apache/manifoldcf/connectorcommon/fuzzyml/XMLParsingContext
> java.lang.Class.forName0(Native Method)
> java.lang.Class.forName(Class.java:348)
>
> org.apache.manifoldcf.core.system.ManifoldCFResourceLoader.findClass(ManifoldCFResourceLoader.java:149)
>
> org.apache.manifoldcf.core.system.ManifoldCF.findClass(ManifoldCF.java:1496)
>
> org.apache.manifoldcf.core.interfaces.ConnectorFactory.getThisConnectorRaw(ConnectorFactory.java:144)
>
> org.apache.manifoldcf.core.interfaces.ConnectorFactory.getThisConnector(ConnectorFactory.java:134)
>
> org.apache.manifoldcf.core.interfaces.ConnectorFactory.processThisConfigurationPost(ConnectorFactory.java:92)
>
> org.apache.manifoldcf.crawler.interfaces.RepositoryConnectorFactory.processConfigurationPost(RepositoryConnectorFactory.java:163)
> org.apache.jsp.execute_jsp._jspService(execute_jsp.java:308)
> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
>
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
> root cause
> java.lang.ClassNotFoundException:
> org.apache.manifoldcf.connectorcommon.fuzzyml.XMLParsingContext
> java.net.URLClassLoader.findClass(URLClassLoader.java:381)
> java.lang.ClassLoader.loadClass(ClassLoader.java:424)
> java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:814)
> java.lang.ClassLoader.loadClass(ClassLoader.java:357)
> java.lang.Class.forName0(Native Method)
> java.lang.Class.forName(Class.java:348)
>
> org.apache.manifoldcf.core.system.ManifoldCFResourceLoader.findClass(ManifoldCFResourceLoader.java:149)
>
> org.apache.manifoldcf.core.system.ManifoldCF.findClass(ManifoldCF.java:1496)
>
> org.apache.manifoldcf.core.interfaces.ConnectorFactory.getThisConnectorRaw(ConnectorFactory.java:144)
>
> org.apache.manifoldcf.core.interfaces.ConnectorFactory.getThisConnector(ConnectorFactory.java:134)
>
> org.apache.manifoldcf.core.interfaces.ConnectorFactory.processThisConfigurationPost(ConnectorFactory.java:92)
>
> org.apache.manifoldcf.crawler.interfaces.RepositoryConnectorFactory.processConfigurationPost(RepositoryConnectorFactory.java:163)
> org.apache.jsp.execute_jsp._jspService(execute_jsp.java:308)
> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
>
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
> note The full stack trace of the root cause is available in the Apache
> Tomcat/7.0.52 (Ubuntu) logs.
> {noformat}
> h3. Create a Confluence repository connector
> Give it a name, select confluence, configure the connection and click save:
> {noformat}
> HTTP Status 500 - An exception occurred processing JSP page /execute.jsp at
> line 179
> type Exception report
> message An exception occurred processing JSP page /execute.jsp at line 179
> description The server encountered an internal error that prevented it from
> fulfilling this request.
> exception
> org.apache.jasper.JasperException: An exception occurred processing JSP page
> /execute.jsp at line 179
> 176: connManager.save(connection);
> 177: variableContext.setParameter("connname",connectionName);
> 178: %>
> 179: <jsp:forward page="viewconnection.jsp"/>
> 180: <%
> 181: }
> 182: }
> Stacktrace:
>
> org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:568)
>
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:455)
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
> root cause
> org.apache.jasper.JasperException: An exception occurred processing JSP page
> /viewconnection.jsp at line 70
> 67: String connectionStatus;
> 68: try
> 69: {
> 70: IRepositoryConnector c = repositoryConnectorPool.grab(connection);
> 71: if (c == null)
> 72: connectionStatus =
> Messages.getString(pageContext.getRequest().getLocale(),"viewconnection.Connectorisnotinstalled");
> 73: else
> Stacktrace:
>
> org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:568)
>
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:455)
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
>
> org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:750)
>
> org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:720)
> org.apache.jsp.execute_jsp._jspService(execute_jsp.java:363)
> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
>
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
> root cause
> javax.servlet.ServletException: java.lang.NoClassDefFoundError:
> org/apache/manifoldcf/connectorcommon/common/InterruptibleSocketFactory
>
> org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:916)
>
> org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:845)
>
> org.apache.jsp.viewconnection_jsp._jspService(viewconnection_jsp.java:539)
> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
>
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
>
> org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:750)
>
> org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:720)
> org.apache.jsp.execute_jsp._jspService(execute_jsp.java:363)
> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
>
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
> root cause
> java.lang.NoClassDefFoundError:
> org/apache/manifoldcf/connectorcommon/common/InterruptibleSocketFactory
>
> org.apache.manifoldcf.crawler.connectors.confluence.ConfluenceRepositoryConnector.initConfluenceClient(ConfluenceRepositoryConnector.java:295)
>
> org.apache.manifoldcf.crawler.connectors.confluence.ConfluenceRepositoryConnector.connect(ConfluenceRepositoryConnector.java:191)
>
> org.apache.manifoldcf.core.connectorpool.ConnectorPool$Pool.getConnector(ConnectorPool.java:479)
>
> org.apache.manifoldcf.core.connectorpool.ConnectorPool.grab(ConnectorPool.java:255)
>
> org.apache.manifoldcf.crawler.repositoryconnectorpool.RepositoryConnectorPool.grab(RepositoryConnectorPool.java:86)
>
> org.apache.jsp.viewconnection_jsp._jspService(viewconnection_jsp.java:237)
> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
>
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
>
> org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:750)
>
> org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:720)
> org.apache.jsp.execute_jsp._jspService(execute_jsp.java:363)
> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
>
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
> root cause
> java.lang.ClassNotFoundException:
> org.apache.manifoldcf.connectorcommon.common.InterruptibleSocketFactory
> java.net.URLClassLoader.findClass(URLClassLoader.java:381)
> java.lang.ClassLoader.loadClass(ClassLoader.java:424)
> java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:814)
> java.lang.ClassLoader.loadClass(ClassLoader.java:357)
>
> org.apache.manifoldcf.crawler.connectors.confluence.ConfluenceRepositoryConnector.initConfluenceClient(ConfluenceRepositoryConnector.java:295)
>
> org.apache.manifoldcf.crawler.connectors.confluence.ConfluenceRepositoryConnector.connect(ConfluenceRepositoryConnector.java:191)
>
> org.apache.manifoldcf.core.connectorpool.ConnectorPool$Pool.getConnector(ConnectorPool.java:479)
>
> org.apache.manifoldcf.core.connectorpool.ConnectorPool.grab(ConnectorPool.java:255)
>
> org.apache.manifoldcf.crawler.repositoryconnectorpool.RepositoryConnectorPool.grab(RepositoryConnectorPool.java:86)
>
> org.apache.jsp.viewconnection_jsp._jspService(viewconnection_jsp.java:237)
> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
>
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
>
> org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:750)
>
> org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:720)
> org.apache.jsp.execute_jsp._jspService(execute_jsp.java:363)
> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
>
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
> note The full stack trace of the root cause is available in the Apache
> Tomcat/7.0.52 (Ubuntu) logs.
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)