上oracle官网下载jdk包
https://www.oracle.com/sg/java/technologies/javase-downloads.html
我下载的是jdk 8, 如果无法访问,可以直接从网盘下载
链接: 链接: https://pan.baidu.com/s/1_-WPcCjn0WjvmaN7CRv3uQ 提取码: svsg
之后在 ~/.bashrc 里面设置环境变量
JAVA_HOME={jdk_dir}
JAVA_JRE=${JAVA_HOME}/jre
export JAVA_HOME=/home/xieming/01-tool/00-jdk/jdk1.8.0_251
export JRE_HOME=${JAVA_HOME}/jre
结果检验:
命令行输入:java -version
应当有类似如下打印:
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~16.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
说明安装成功
上tomcat官网下载软件包, 我下载的是 8.5.54这个版本
https://tomcat.apache.org/download-80.cgi
注意一定要下载 Binary Distributions -> Core里面的包
Source Code Distributions 里面的包不全,运行时会报缺少相应的类。
下载解压后,运行 bin/startup.sh,
浏览器中输入 localhost:8080,
如果有tomcat的界面,说明安装成功。
如下图:
如果打不开网页, 可以在 tomcat的 log/catalina.out 里面查看具体报错
如果想关闭的话, tomcat目录下, 输入 bin/shutdown.sh
引用openGrok的搭建指导的一段话
OpenGrok can be installed and used under different use cases. Advanced usage depends on your knowledge of running java applications and command line options. Note, that you need to create the index no matter what is your use case. Without indexes Opengrok will be simply useless.
OpenGrok可以在不同的用例下安装和使用。 高级用法取决于您对运行Java应用程序和命令行选项的了解。 注意,无论用例如何,都需要创建索引。 没有索引,Opengrok将毫无用处。
网上好多介绍时直接用命令安装
sudo apt-get install exuberant-ctags
但openGrok的官方安装指导不建议使用已经不维护的 exuberant-ctags
建议使用 universal-ctags
可以移除本机的 exuberant-ctags
sudo apt-get remove exuberant-ctags
我们可以从github上下载 对应的源码
https://github.com/universal-ctags/ctags
之后按照 docs/autotools.rst 里面的安装步骤再安装
先安装对应的依赖
sudo apt install \
gcc make \
pkg-config autoconf automake \
python3-docutils \
libseccomp-dev \
libjansson-dev \
libyaml-dev \
libxml2-dev
再执行 autogen.sh 脚本
./autogen.sh
再使用标准的linux环境安装三部曲
./configure
make
sudo make install
安装完后,敲 ctag --version 有如下打印:
Universal Ctags 0.0.0(6d353f7), Copyright (C) 2015 Universal Ctags Team
Universal Ctags is derived from Exuberant Ctags.
Exuberant Ctags 5.8, Copyright (C) 1996-2009 Darren Hiebert
Compiled: Apr 25 2020, 22:32:30
URL: https://ctags.io/
Optional compiled features: +wildcards, +regex, +iconv, +option-directory, +xpath, +json, +interactive, +sandbox, +yaml, +packcc
先安装依赖
apt install libssl-dev libncurses5-dev libsqlite3-dev libreadline-dev libtk8.5 libgdm-dev libdb4o-cil-dev libpcap-dev
在下载python3.6或以上的代码
我现在的是3.6.10
./configure
make
sudo make install
下载最新版本的openGrok安装包
https://github.com/oracle/opengrok/releases
我下载的是最新的 opengrok-1.3.13.tar.gz
具体操作可以参考链接
https://github.com/oracle/opengrok/wiki/How-to-setup-OpenGrok
cd 04-openGrok/tools
python3.6 -m pip install opengrok-tools.tar.gz
由于我的python3指向了默认安装的python3.5.2,
而openGrok又需要python3.6及以上的版本
所以我使用前面安装的python3.6来安装tools,
此过程中可能会碰到如下错误:
You are using pip version 18.1, however version 20.1b1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
说明你的pip版本太低,升级一下
而注意系统中能存在多个版本的pip,
我里面的pip的供python2.7使用的, 版本号为pip 8.1.1
pip3供python3使用的,版本号为18.1
我们要升级的是pip3,敲入如下命令完成升级
pip3 install --upgrade pip --user
再次执行
python3.6 -m pip install opengrok-tools.tar.gz
成功
Installing collected packages: opengrok-tools
Attempting uninstall: opengrok-tools
Found existing installation: opengrok-tools 1.3.13
Uninstalling opengrok-tools-1.3.13:
Successfully uninstalled opengrok-tools-1.3.13
Running setup.py install for opengrok-tools ... done
Successfully installed opengrok-tools-1.3.13
上一步使用pythone安装了openGrok的一些工具,我们可以直接使用opengrok的一些工具命令
opengrok-deploy 04-openGrok/dist/lib/source.war 01-apache-tomcat-8.5.54/webapps/
此命令将 openGrok里面的source.war 拷贝到了 tomcat的webapps目录下了
之后打开 localhost:8080/source 后, 如下图(因为没有配置,所以有此错误):
如果不拷贝source.war的话,直接打开的链接如下:
export OPENGROK_TOMCAT_BASE=/home/xxx/01-tool/01-apache-tomcat-8.5.54
export OPENGROK_INSTANCE_BASE=/home/xieming/01-tool/04-openGrok
在 04-openGrok/src 目录下,创建HelloWorld/HelloWorld.c demo
终于有了可以一气呵成的步骤了
#include
int main() {
printf("Hello world.\n");
return 0;
}
参考官方指导
opengrok-indexer \
-J=-Djava.util.logging.config.file=/opengrok/etc/logging.properties \
-a /opengrok/dist/lib/opengrok.jar -- \
-c /usr/local/bin/ctags \
-s /opengrok/src -d /opengrok/data -H -P -S -G \
-W /opengrok/etc/configuration.xml -U http://localhost:8080/source
opengrok-indexer -J=-Djava.util.logging.config.file=./04-openGrok/etc/logging.properties -a ./04-openGrok/dist/lib/opengrok.jar -- -c /usr/local/bin/ctags -s 04-openGrok/src/ -d 04-openGrok/data/ -H -P -S -G -W 04-openGrok/etc/configuration.xml -U http://localhost:8080/source
嗯``
由于我的src源码工程里,只建立了一个HelloWorld
所以建立索引特别快
结果如下图:
之后有在 openGrok/src目录下, 拉了一套ffmpeg的代码
建完索引如下:
参考链接:
https://github.com/oracle/opengrok/wiki/How-to-setup-OpenGrok