Repolode
oracle

oracle/opengrok

用 Java 编写的快速源代码搜索与交叉引用引擎,可索引代码及版本控制历史。

可替代:Sourcegraph

Star
5,005
Fork
841
未关闭 Issue
556
最近提交
10小时前

这是什么?

OpenGrok 是一个用 Java 编写的源代码搜索与交叉引用引擎。它为源码树建立索引,开发者可以搜索符号、全文内容和文件路径,并在网页界面中在定义与引用之间快速跳转。

它能够识别多种程序文件格式,并读取多个版本控制系统的历史记录,便于在浏览代码的同时查看变更。项目提供 Docker 容器的运行方式,安装和配置说明位于项目 wiki 中。

项目采用语义化版本号,不同版本的升级方式各不相同:大版本通常需要全量重建索引和修改配置,小版本需要干净地重新索引,修订版本只需重新部署 Web 应用。

核心功能

  • 01对大型源码树进行全文和符号搜索。
  • 02在网页界面中链接定义与引用,支持交叉跳转。
  • 03支持识别多种程序文件格式。
  • 04可读取多个版本控制系统的历史记录。
  • 05提供 Docker 容器运行方式。

适用场景

  • 检索和浏览分布在多个项目中的大型遗留代码库。
  • 为团队搭建集中的自托管网页端,用于查看内部源码仓库。
  • 在 monorepo 中追踪函数和符号的定义与使用位置。

快速上手

  1. 1

    阅读项目 Wiki 上的安装设置指南

  2. 2

    或按 docker 目录的 README 以 Docker 容器方式运行

使用前须知

  • 安装步骤不在 README 中,而是转交给外部 Wiki 页面。
  • 次要版本升级需要对代码仓库进行完全的干净重新索引。

标签

常见问题

opengrok 是什么?
用 Java 编写的快速源代码搜索与交叉引用引擎,可索引代码及版本控制历史。 OpenGrok 是一个用 Java 编写的源代码搜索与交叉引用引擎。它为源码树建立索引,开发者可以搜索符号、全文内容和文件路径,并在网页界面中在定义与引用之间快速跳转。
opengrok 可以免费使用吗?用的什么许可证?
opengrok 以 Other 许可证开源。用于商业产品前,请先确认许可证条款。
opengrok 还在维护吗?
活跃维护中。opengrok 最近一次提交是在 2026年10月19日。
opengrok 适合用来做什么?
检索和浏览分布在多个项目中的大型遗留代码库。 为团队搭建集中的自托管网页端,用于查看内部源码仓库。 在 monorepo 中追踪函数和符号的定义与使用位置。
opengrok 怎么安装和运行?
阅读项目 Wiki 上的安装设置指南 或按 docker 目录的 README 以 Docker 容器方式运行
在哪里获取 opengrok?
源代码和安装说明在 GitHub 上:https://github.com/oracle/opengrok

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目