2017-04-15 320 views
0

我按照How-to-install-OpenGrok中的說明在服務器上創建了2個opengrok項目。Opengrok問題上的多項目支持

每個項目有自己的名稱:PROJECT1和項目2

後,我創建索引,部署我的項目,然後重新啓動Tomcat的我。只有我在瀏覽器上查看的第一個項目纔有效。另一個項目會提示錯誤:

HTTP Status 500 - org.apache.jasper.JasperException: javax.servlet.ServletException: java.lang.NoClassDefFoundError: Could not initialize class org.opensolaris.opengrok.analysis.AnalyzerGuru

type Exception report

message org.apache.jasper.JasperException: javax.servlet.ServletException: java.lang.NoClassDefFoundError: Could not initialize class org.opensolaris.opengrok.analysis.AnalyzerGuru

description The server encountered an internal error that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: org.apache.jasper.JasperException: javax.servlet.ServletException: java.lang.NoClassDefFoundError: Could not initialize class org.opensolaris.opengrok.analysis.AnalyzerGuru org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:555) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:461) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:401) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:345) javax.servlet.http.HttpServlet.service(HttpServlet.java:729) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) org.opensolaris.opengrok.web.StatisticsFilter.doFilter(StatisticsFilter.java:55) org.opensolaris.opengrok.web.AuthorizationFilter.doFilter(AuthorizationFilter.java:66)

例如:如果我先查看Project 1,則Project 2會提示錯誤。使Project 2工作的唯一方法是重新啓動tomcat並首先查看項目2。

我使用的OpenGrok版本是V1.0。 Tomcat的版本8

命令,我用它來創建索引的文章:

OPENGROK_VERBOSE=true OPENGROK_WEBAPP_CONTEXT=${webapp name} OPENGROK_INSTANCE_BASE=${path_to_store_index_files} ./OpenGrok index ${directory_of_source_code} 
+0

我用來查看這兩個項目的URL是不同的。一個使用localhost:8080/project1,另一個使用localhost:8080/project2 –

回答

0

我在Ubuntu 16.04上的Tomcat8上遇到了第二個OpenGrok(1.1 rc11)實例的相同問題。

看起來內存不足問題。 我嘗試了下面的步驟,問題消失了。

  1. 在文件/ etc/default/tomcat8中爲Tomcat8設置較大的堆大小。這裏設置爲8g。 (這裏有我的機器上共有32GB RAM)

    JAVA_OPTS = 「 - Djava.awt.headless =真-Xmx8g -XX:+ UseConcMarkSweepGC」

  2. 重新啓動tomcat8服務

    須藤服務tomcat8重啓

希望以上的幫助。