IDEA本地部署main 方法启动调试Solr 8.5.0

IDEA本地启动直接部署Solr 8.5.0

以前都是看别人的博客,一直在做伸手党,第一次写博客,纯粹是做一个记录,记录原因很简单,百度idea 本地Solr部署调试全部通篇一律都是远程调用,而且基本都一样,官网说了有两种方式,所以本次记录第二种通过测试main方法启动。

前期准备

因为在学习Solr 同时想了解下Solr过程,所以本人进行了本地Solr部署,系统环境:win10、JDK 1.8 、idea 2019.3.1

  1. 源码地址:github
  2. ant:apache-ant-1.10.8-bin.zip
  3. JDK1.8。

Ant安装

这个部分省略,主要就是解压配置ANT_HOME 之类的。

Solr 编译

有两种方式
1.直接在solr 源码的根目录进行编译
2.导入idea后设置Ant 直接编译
两种方式都可以。两种方式我都试验过。
在idea使用ant 编译时候,需要设置下载过的那个ant版本,如下:
IDEA本地部署main 方法启动调试Solr 8.5.0
一共执行两个命令:
1.common.ivy-bootstrap
2.idea
在cmd 中的话 首先在源码的根目录打开CMD,然后执行
1.ant ivy-bootstrap
2.ant idea
解析下两个命令
ivy-bootstrap :根据项目配置版本号,设置ivy的resolvers等下载对应的ivy.jar,可以简单理解为Maven 配置。
idea :解析项目模块的ivy.xml 下载对应的jar,同时编译整个项目生成 idea-build 文件。

编译好的项目如下所示:
IDEA本地部署main 方法启动调试Solr 8.5.0

可能遇到的问题

1.进行第二个命令时候非常慢几小时都有可能,考虑是网络的问题,也可以重新设置ivy的仓库地址,具体去看 common-build.xmldefault-nested-ivy-settings.xml 设置完成后需要执行 clean idea 和 ivy-bootstrap 重新设置ivy。
2.编译一直失败可能是jar 包的问题,删除现有仓库jar后重新执行命令,ivy 仓库地址为当前电脑用户文件下具体如图:
IDEA本地部署main 方法启动调试Solr 8.5.0

启动Solr

  1. 找到对应的启动类,启动类在SolrJ的测试包中,如果不认真找的话真心不好找StartSolrJetty.java
    IDEA本地部署main 方法启动调试Solr 8.5.0
    2.找到了这个类首先看不出任何有意义的东西,那么不妨调用下看看,很不开心应为报错了。
    IDEA本地部署main 方法启动调试Solr 8.5.0
    大致意思是说找不到项目的 WebAppContext,wbapp/web文件,那么说明是路径不对,仔细看上面编译好的那个项目结构图,会发现有一个webapp文件夹,打开一看有就会发现就是它,设置并启动。
    IDEA本地部署main 方法启动调试Solr 8.5.0
    IDEA本地部署main 方法启动调试Solr 8.5.0
    启动了,别开心太早,后面报错了。
    IDEA本地部署main 方法启动调试Solr 8.5.0
    大致意思是找不到 solr.xml ,说明哪个地方没有设置对,跟一下发现是solr.home 没有设置对。再看下上面编译好的那个项目结构图,会发现有一个server文件夹,打开会发现有一个solr.xml 的文件,对,就是它,设置它然后再次启动。
    IDEA本地部署main 方法启动调试Solr 8.5.0
    完美启动,再进入后台看一下。
    IDEA本地部署main 方法启动调试Solr 8.5.0至此Solr 源码8.5.0 在 idea 中编译启动完成,可以开心的debug调试了。