0

我按照How-to-install-OpenGrok中的说明在服务器上创建了 2 个 opengrok 项目。

每个项目都有自己的名称:project1 和 project 2。

创建索引后,部署我的项目并重新启动我的 tomcat。只有我在浏览器上查看的第一个项目有效。另一个项目会提示错误:

HTTP 状态 500 - org.apache.jasper.JasperException:javax.servlet.ServletException:java.lang.NoClassDefFoundError:无法初始化类 org.opensolaris.opengrok.analysis.AnalyzerGuru

类型异常报告

消息 org.apache.jasper.JasperException: javax.servlet.ServletException: java.lang.NoClassDefFoundError: 无法初始化类 org.opensolaris.opengrok.analysis.AnalyzerGuru

描述 服务器遇到一个内部错误,阻止它完成这个请求。

例外

org.apache.jasper.JasperException: org.apache.jasper.JasperException: javax.servlet.ServletException: java.lang.NoClassDefFoundError: 无法初始化类 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)

例如:如果我先查看项目 1,项目 2 会提示错误。使项目 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}
4

2 回答 2

0

我在 Ubuntu 16.04 上的 Tomcat8 上的第二个 OpenGrok (1.1 rc11) 实例遇到了同样的问题。

看起来是内存不足的问题。我尝试了以下步骤,问题消失了。

  1. 在文件 /etc/default/tomcat8 中为 Tomcat8 设置更大的堆大小。这里设置为8g。(我的机器总共有 32GB RAM)

    JAVA_OPTS="-Djava.awt.headless=true -Xmx8g -XX:+UseConcMarkSweepGC"

  2. 重启tomcat8服务

    sudo 服务 tomcat8 重启

希望以上帮助。

于 2017-09-02T18:31:16.147 回答
0

如果 jdk 是 oracle one 1.8 ,那么这看起来像一个错误 - 随时在 https://github.com/OpenGrok/OpenGrok/issues上打开一个

于 2017-04-18T14:54:00.603 回答