📦 Ubuntu 22.04 安装 OpenGrok 1.14.11 完整流程

1. 安装 Java 21

sudo apt update
sudo apt install -y openjdk-21-jdk
java -version   # 应显示 openjdk version "21" 字样

2. 安装 Tomcat 10

cd /opt
sudo wget https://archive.apache.org/dist/tomcat/tomcat-10/v10.1.54/bin/apache-tomcat-10.1.54.tar.gz  
sudo tar -xzf aapache-tomcat-10.1.54.tar.gz
sudo mv apache-tomcat-10.1.39 tomcat
sudo /opt/tomcat/bin/startup.sh   # 启动验证,稍后可通过 http://localhost:8080 测试

如果需要开机自启或设置环境变量可自行配置,此处不强制。

3. 安装 universal-ctags

sudo apt install -y universal-ctags
which ctags   # 应显示 /usr/bin/ctags

4. 准备 OpenGrok 目录结构

sudo mkdir -p /opengrok/{src,data,dist,etc,log}

5. 下载并解压 OpenGrok 1.14.11

cd /opengrok/dist
sudo wget https://github.com/oracle/opengrok/releases/download/1.14.11/opengrok-1.14.11.tar.gz
sudo tar -xzf opengrok-1.14.11.tar.gz --strip-components=1

6. 部署 OpenGrok Web 应用到 Tomcat

sudo cp /opengrok/dist/lib/source.war /opt/tomcat/webapps/
# Tomcat 会自动解压,稍等几秒
ls /opt/tomcat/webapps/source   # 应看到解压后的目录

7. 配置日志(可选)

sudo cp /opengrok/dist/doc/logging.properties /opengrok/etc/
sudo sed -i 's|java.util.logging.FileHandler.pattern =.*|java.util.logging.FileHandler.pattern = /opengrok/log/opengrok%g.%u.log|' /opengrok/etc/logging.properties

8. 准备源代码

将需要索引的代码放入 /opengrok/src。例如:

sudo git clone https://github.com/example/your-repo.git /opengrok/src/your-repo

9. 生成索引(关键步骤)

执行索引

java \
  -Djava.util.logging.config.file=/opengrok/etc/logging.properties \
  -jar /opengrok/dist/lib/opengrok.jar \
  -c /usr/bin/ctags \
  -s /opengrok/src \
  -d /opengrok/data \
  -H -P -S -G \
  -W /opengrok/etc/configuration.xml \
  -U http://localhost:8080/source

索引完成后检查配置文件是否存在且非空

ls -lh /opengrok/etc/configuration.xml

10. 浏览器验证效果

在浏览器中打开:http://localhost:8080/source/

11. 后续更新索引(增量)

当代码有变化时,重新执行索引:

java \
  -Djava.util.logging.config.file=/opengrok/etc/logging.properties \
  -jar /opengrok/dist/lib/opengrok.jar \
  -c /usr/bin/ctags \
  -s /opengrok/src \
  -d /opengrok/data \
  -H -P -S -G \
  -W /opengrok/etc/configuration.xml \
  -U http://localhost:8080/source

在这里插入图片描述

至此,OpenGrok 1.14.11 + Java 21 环境已完整搭建并可用。

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐