OpenGrok介绍「建议收藏」

OpenGrok介绍「建议收藏」2019独角兽企业重金招聘Python工程师标准>>>…

大家好,又见面了,我是你们的朋友全栈君。

一、介绍 openGrok是用于代码在线阅读和搜索以及交叉引用的引擎使用Java语言编写的系统。它帮助你检索/索引和本地目录树导航。它可以理解各种编程语言的文件格式和各种配置管理工具。可以配合Mercurial/Git/SCCS/RCS/CVS/Subversion/Teamware/ClearCase/Perforce/Monotone和Bazaar。

二、安装环境 1. 最新的JDK 2. Servlet容器, 如Tomcat 8.x 3. Ctags 4. 代码版本管理工具 5. 如果自己编译,需要Ant/JFlex/Netbeans

三、使用 openGrok通常在servlet容器中运行(Tomcat)。 SRC_ROOT环境变量的值,是你工程代码的根目录。openGrok分析代码树并构建快速检索的索引,同时会解析代码在配置库中的不同版本的历史信息。解析过程中生成的数据会统一放在环境变量DATA_ROOT指定的目录中。

3.1 项目 OpenGrok中有项目的概念,一个项目对应SRC_ROOT下的一个目录,这个目录中文件是从配置库中检出的代码文件的工作区。 有了项目的概念一个OpenGrok应用可以处理多个项目,这样就不需要部署多个openGrok环境。一个应用可以处理多个代码配置库或项目。opengrok还可以处理项目或多个仓库的代码同步更新的脚本。 一个好的建议是为SRC_ROOT下的代码目录名称加上版本和分支的信息。如name-version-branch 实例: SRC_ROOT目录下可以有 openssh-head openssh-0.9.8-stable openssh-1.0.0-stable

每个目录都是从代码库中检出的工作区。在OpenGrok都被作为一个项目处理。

四、安装 4.1 Solaris平台使用*.p5p文件 4.1.0 安装 执行命令#pkg install –no-refresh -g /path/to/file/<package_name>.p5p opengrok 4.1.1更新 你可以通过*.p5p文件更新openGrop软件,更新的命令是 #pkg updatge –no-refresh -g /path/to/file/<package_name>.p5p ‘pgk://<publisher>/*’

五、配置 5.1 配置工程源码 在进行配置之前,首先需要从代码配置库中检出代码文件,启动opengrok应用。 在SRC_ROOT指定的目录下检出工程代码。openGrok不会自动更新检出的工程代码,需要你自己执行更新脚本。 如果是非分布式的配置管理工具(Subversion,CVS)可以不检出代码通过远程的方法来进行(不推荐使用此方式)。 如果要解析配置库的历史,需要安装配置管理工具,并给opengrok指定执行文件的所在的具体路径。 注意: opengrok 不处理连接文件。 如果你要忽略工程代码中的特定的目录及其子目录,可以在根目录中创建.opengrok_skip_history文件,将要忽略的目录写入其中。

5.2 使用opengrok shell脚本创建索引 在Linux系统用openGrok提供shell脚本来处理不同的任务,这些已在Solaris和其他Linux发行版本中验证过了。 5.2.1 应用部署 可以在其他用户下部署openGrok应用 #pfexec su – webservd $cd /usr/opengrok/bin $ ./OpenGrok deploy openGrok将在此目录下通过source.war进行部署。 5.2.2 DATA_ROOT目录配置 在openGrok生成索引的过程中会生成OpenGrok XML配置文件 configuration.xml并且会更新web应用。生成索引会花费很长时间,在这之后其可以自动更新。 第一次更新 $cd /usr/opengrok/bin SRC_ROOT默认是/var/opengrok/src $./OpenGrok index 否则使用 $./OpenGrok index <absolute_path_to_your_SRC_ROOT> 上面的命令将最新的索引信息更新如configurations.xml文件中。

openGrok定制化脚本,新增环境变量OPENGROK_INSTANCE_BASE默认是/var/opengrok如果opengrok的数据目录是/tank/opengrok 代码目录是/tank/source
$OPENGROK_VERBOSE=true OPENGROK_INSTANCE_BASE=/tank/opengrok ./OpenGrok index /tank/source
修改默认的配置文件
$ln -s /tank/opengrok/etc/configuration.xml /var/opengrok/etc/configuration.xml
更多的定制化脚本需要使用OPENGROK_CONFIGURATION这个环境变量。

5.2.3 局部索引更新

5.4 使用命令行更新索引 5.4.1 更新DATA_ROOT目录 opengrok有一些适合定期自动执行的脚本。opengrok.jar文件是可以直接执行的。 $java -jar opengrok.jar -s $SRC_ROOT -d $DATA_ROOT

5.4.2 部署和配置source.war 在source.war的web.xml文件中有如下参数可以修改 HEADER: HTML格式的文件,用于自定义欢迎页面和logo SRC_ROOT: 本地工程代码根目录的绝对路径 DATA_ROOT: 存放opengrok数据的目录绝对路径 5.4.3 路径描述 5.4.4 修改tomcat的配置参数 5.4.5 自定义ctags的配置

5.5 使用Java DB 存储历史缓存信息

转载于:https://my.oschina.net/hopeMan/blog/537550

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/136341.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Android – 除首次使用状态(SharedPreferences)

    Android – 除首次使用状态(SharedPreferences)

  • 查看idea激活码-激活码分享

    (查看idea激活码)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/100143.html1STL5S9V8F-eyJsaWNlbnNlSWQi…

  • 分享一个好用的Python在线编辑器

    分享一个好用的Python在线编辑器原文:https://lwebapp.com/zh/python-online需求有小伙伴可能听说过PyScript,知道了Python可以通过打包成wasm运行在浏览器端了,这样做一些需要Python来做的功能,可以直接在浏览器完成,无需和服务器交互,打开了开发者的想象力。这里我们要推荐的是一个在线工具,也是支持Python代码的执行,一个在线的Python代码编辑器Python在线编辑器地址:https://lwebapp.com/zh/python-playground如何使用Py

  • raid 5 raid 10_u盘损坏了还能恢复吗

    raid 5 raid 10_u盘损坏了还能恢复吗介绍:RAID0技术把多块物理硬盘设备(至少两块)通过硬件或软件的方式串联在一起,组成一个大的卷组,并将数据依次写入到各个物理硬盘中。这样一来,在最理想的状态下,硬盘设备的读写性能会提升数倍

  • Python Faker的使用,你了解多少呢?

    Python Faker的使用,你了解多少呢?

  • 【机器学习中的数学】多项式分布及其共轭分布

    【机器学习中的数学】多项式分布及其共轭分布多项变量(MultinomialVariables)二元变量是用来描述只有两种可能值的量,而当我们遇到一种离散变量,其可以有K种可能的状态。我们可以使用一个K维的向量x表示,其中只有一维xk为1,其余为0。对应于xk=1的参数为μk,表示xk发生时的概率。其分布可以看做是伯努利分布的一般化。现在我们考虑N个独立的观测D={x1,…,xN},得到其似然函数。如图:

    2022年10月11日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号