本地编译Solr源码

前言

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

Solr源码下载地址

https://archive.apache.org/dist/lucene/solr/
我这里用的是8.8.2版本的如下:

src表示源码

源码编译

相关描述
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执行如下:

在这里插入图片描述

表示配置成功;

编译步骤

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路径
    例如:

    在这里插入图片描述

  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调试器如下:

    在这里插入图片描述

  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

相关文章

这篇文章主要介绍了idea中mapper快速跳转到xml插件的方法,具...
今天小编给大家分享的是IDEA搭建Maven模块化项目的实现方法,...
这篇文章主要介绍了ideaintellij怎么快速修复if语句缺少大括...
这篇文章主要介绍“idea运行main方法或Test避免编译整个应用...
这篇文章主要介绍“idea项目全局去掉严格的语法校验方式是什...
本文小编为大家详细介绍“Windows、IDEA、VSCode常用快捷键有...