OpenGrok 和 Tomcat 404 未找到

OpenGrok And Tomcat 404 not found

我正在尝试在新的 Linux 环境中设置 OpenGrok。我已按照以下说明进行操作:https://github.com/oracle/opengrok/wiki/How-to-setup-OpenGrok.

设置 OpenGrok 和 Tomcat 后,我将 source.war 从 Opengrok 复制到 Tomcat/webapps。复制后,当我尝试连接 http://localhost:8080/source 时,它​​总是给我这个 404 not found error:

HTTP Status 404 – Not Found
Type Status Report

Message The requested resource [/source] is not available

Description The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.

Apache Tomcat/9.0.48

我正在使用最新的 OpenGrok 版本和 Tomcat 版本:Apache Tomcat/9.0.48

这是来自 OpenGrok 日志的详细错误:

11:49:08 SEVERE: Couldn't notify the webapp on http://localhost:8080/source.
jakarta.ws.rs.NotFoundException: HTTP 404 Not Found
        at org.glassfish.jersey.client.JerseyInvocation.convertToException(JerseyInvocation.java:916)
        at org.glassfish.jersey.client.JerseyInvocation.translate(JerseyInvocation.java:723)
        at org.glassfish.jersey.client.JerseyInvocation.lambda$invoke(JerseyInvocation.java:643)
        at org.glassfish.jersey.client.JerseyInvocation.call(JerseyInvocation.java:665)
        at org.glassfish.jersey.client.JerseyInvocation.lambda$runInScope(JerseyInvocation.java:659)
        at org.glassfish.jersey.internal.Errors.process(Errors.java:292)
        at org.glassfish.jersey.internal.Errors.process(Errors.java:274)
        at org.glassfish.jersey.internal.Errors.process(Errors.java:205)
        at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:390)
        at org.glassfish.jersey.client.JerseyInvocation.runInScope(JerseyInvocation.java:659)
        at org.glassfish.jersey.client.JerseyInvocation.invoke(JerseyInvocation.java:642)
        at org.glassfish.jersey.client.JerseyInvocation$Builder.method(JerseyInvocation.java:417)
        at org.glassfish.jersey.client.JerseyInvocation$Builder.get(JerseyInvocation.java:313)
        at org.opengrok.indexer.index.IndexerUtil.enableProjects(IndexerUtil.java:79)
        at org.opengrok.indexer.index.Indexer.main(Indexer.java:334)

Couldn't notify the webapp on http://localhost:8080/source: HTTP 404 Not Found.
11:49:09 SEVERE: Failed to send configuration to http://localhost:8080/source (is web application server running with opengrok deployed?)
java.io.IOException: InboundJaxrsResponse{context=ClientResponse{method=PUT, uri=http://localhost:8080/source/api/v1/configuration?reindex=true, status=405, reason=Method Not Allowed}}
        at org.opengrok.indexer.configuration.RuntimeEnvironment.writeConfiguration(RuntimeEnvironment.java:1427)
        at org.opengrok.indexer.index.Indexer.sendToConfigHost(Indexer.java:1149)
        at org.opengrok.indexer.index.Indexer.main(Indexer.java:378)

需要帮助解决此 404 tomcat 错误并设置 opengrok。

提前致谢

在您引用的 installation page 中,在要求下您发现:

A servlet container like GlassFish or Tomcat 10.0 or later

(强调我的)。

source.war 是 Jakarta EE 9 应用程序,它不能在 Tomcat 9.0 上运行。由于 version 1.6.0 OpenGrok 需要 Servlet 5.0 容器。