manifoldcf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jens Grassel (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CONNECTORS-1243) Several NoClassDefFoundError error if web apps are deployed to tomcat
Date Fri, 18 Sep 2015 12:15:04 GMT

    [ 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)

Mime
View raw message