我按照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}
我用来查看这两个项目的URL是不同的。一个使用localhost:8080/project1,另一个使用localhost:8080/project2 –