本地编译Solr源码

前言

最近在学习solr,需要查看源码,记录一下编译solr源码的整个过程;

Solr源码下载地址

https://archive.apache.org/dist/lucene/solr/
我这里用的是8.8.2版本的如下:
本地编译Solr源码

源码编译

相关描述
Lucene和Solr组合代码库,是通过Apache的Ant作为编译系统;
Ant是一个基于Java的命令行工具;

Ant下载地址
https://archive.apache.org/dist/ant/binaries/

Ant环境配置
ANT_HOME:ant存放的路径
Path:;%ANT_HOME%\bin
ClassPath:;%ANT_HOME%\lib
cmd执行如下:
本地编译Solr源码
表示配置成功;

编译步骤

1、下载ant依赖包
说明
本地未安装ivy时候,需要执行以下操作,否则编译过程中会出现ivy不可用的异常情况;

操作
在项目根目录下执行命令
ant ivy-bootstrap
自动下载ant依赖包。第一次执行需要较长时间
显示BUILD SUCCESSFUL则成功。
(这一步只需要执行一次,后面不需重复执行)

2、转换为idea项目
说明
这一步会将solr源码转成idea项目,并且ivy会下载相关依赖包

操作
在项目根目录下执行命令
ant idea
显示BUILD SUCCESSFUL,才可以将项目导入到idea中,否则会有问题
注意:
下载jar可能会失败,这时候可以手动下载jar包,放入ivy仓库对应的包下
例如可以从Maven仓库进行下载,地址如下:
https://mvnrepository.com/

3、编译solr源码
操作
进入项目根目录 solr/ 目录,执行命令
ant server
显示BUILD SUCCESSFUL,则成功

IDEA上调试solr源码

一、直接启动调试

  1. 准备一个solr_home,放在solr/server/ 目录下

  2. 在StartSolrJetty.java中,设置上面solr_home的路径和webapp war路径
    例如:
    本地编译Solr源码

  3. solr/solrj/src/resources
    目录下添加log4j2配置文件(solr/solrj/src/resources/log4j2.xml)

  4. run StartSolrJetty.java,然后访问 localhost:8983/solr

二、远程调试

  1. 用idea编辑器打开,进入Run->Edit Configurations, 添加remote调试器如下:
    本地编译Solr源码

  2. 在远程调试模式下启动JVM;
    操作如下:
    cmd 进入/solr/bin执行
    solr start -p 8983 -f -a "-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8983

  3. run remote调试器,然后访问 localhost:8983/solr

上一篇:Ant design Vue a-date-picker实现年份选择


下一篇:Nuxt(1),微信公众号前端开发教程