用Intellij idea搭建solr调试环境

简介: 转自:http://www.cnblogs.com/jeniss/p/5995921.html最近在使用solr时,配置会有一些问题,log里面打印出日志了,但是还是不知道发生这样错误的原因。

转自:http://www.cnblogs.com/jeniss/p/5995921.html

最近在使用solr时,配置会有一些问题,log里面打印出日志了,但是还是不知道发生这样错误的原因。于是想学习一下相关的solr源码,以下是如何搭建solr调试环境步骤。


solr调试环境搭建,首先下载源码。

  可以通过 http://archive.apache.org/dist/lucene/solr/ 下载各个版本的源码。还可以在github下载最新的solr代码,地址是:https://github.com/jeniss/lucene-solr。


源码导入Intellij idea

  在下载后的solr项目,可以发现是用ant管理的。所以需要确保已安装ant。ant下载地址:http://ant.apache.org/bindownload.cgi。在环境变量中配置ant。ANT_HOME:D:\Program Files (x86)\java\apache-ant-1.9.7,Path:%ANT_HOME%\bin。配置完成后,执行ant -version,显示ant版本,则代表安装成功。如图。

img_492f53b57f4234b6b0b1bfd16147ff3b.png

  接下来,solr源码编译为idea的项目。

  在根目录下,运行ant命令,查看ant可以执行的操作。

img_416c55225b9f8c1b0d17d37aba9e7857.png

  当我们执行ant idea,即可将solr源码编译成intellij idea的项目。在编译ant idea时候可能会失败,这是可以运行 ant ivy-bootstrap。

  编译成功后,在intellij idea中通过open的方式导入。选择“lucene-solr”父项目后,项目会整体导入。

->

img_5d3a70186211269796053369f9a62820.png
img_9f49783a8b44be60e8245fc7f4d4e37b.png

  此时,项目导入intellij idea。


配置JDPA远程调试

从5.3开始,solr不再提供war包。solr团队说:“Solr is intended to be aservernot aJava web application”。因此,在\lucene-solr\solr目录下,运行ant server创建solr server。solr的cores默认的根目录为\lucene-solr\solr\server\solr。

  然后,在idea配置远程调试。在“Run Configurations”里添加Remote,在配置中,自定义Name,Host,和Port。Transport选择socket选项。

img_c62a719e48b23bb9f9efb69cea5d6d55.png

  接着,我们在cmd中进入lucene-solr\solr\bin文件夹中,运行solr start -p 8988 -f -a "-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8988",配置的端口号(e.g. 8988)要与在idea中配置的端口号一致。

  最后,在idea中运行debug模式。我们在网页中http://localhost:8988,则可以开始进行调试。


在Intellij idea中查看solr日志文件

  为了更方便的查看solr日志文件,可以进行如下配置在idea中查看日志。

  在Debug Configurations中添加\lucene-solr\solr\server\logs\solr.log文件。

img_331221f06dfe4264286330d72c6125e8.png

  修改\lucene-solr\solr\server\resources\log4j.properties文件,自定义日志输出的内容。在远程调试时,idea中显示的日志如下:

img_156ff726cfacc0e275eb7a890d47e0d8.png
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
18天前
|
Java 开发工具 Maven
IntelliJ IDEA安装教程(超详细)
IntelliJ IDEA安装教程(超详细)
74 1
|
19天前
idea设置不同环境
在IDEA中,可通过设置`spring.profiles.active=beta`或`-Dspring.profiles.active=beta`来激活beta环境。查看编辑示例图。
25 2
|
24天前
|
XML IDE 开发工具
别看你风吹头顶凉但你绝对没有过这样方便的插件Intellij IDEA 自带的 Vim
别看你风吹头顶凉但你绝对没有过这样方便的插件Intellij IDEA 自带的 Vim
40 0
|
1月前
|
IDE Java 开发工具
如何安装intellij IDEA
如何安装intellij IDEA
|
1月前
|
Java Maven
Maven【5】在IDEA环境中配置和使用Maven
Maven【5】在IDEA环境中配置和使用Maven
64 1
|
13天前
|
NoSQL 关系型数据库 MySQL
开发者福音:用IDEA和Iedis2加速Redis开发与调试
开发者福音:用IDEA和Iedis2加速Redis开发与调试
31 0
开发者福音:用IDEA和Iedis2加速Redis开发与调试
|
13天前
|
JSON Kubernetes Go
无缝集成:在IntelliJ IDEA中利用Kubernetes插件轻松管理容器化应用
无缝集成:在IntelliJ IDEA中利用Kubernetes插件轻松管理容器化应用
24 0
无缝集成:在IntelliJ IDEA中利用Kubernetes插件轻松管理容器化应用
|
13天前
|
安全
IntelliJ IDEA 快捷键大全(三)
IntelliJ IDEA 快捷键大全
75 0
IntelliJ IDEA 快捷键大全(三)
|
13天前
|
Java 应用服务中间件 Maven
使用IDEA搭建SpringMVC环境,Maven导入了依赖,但是运行报错 java.lang.ClassNotFoundException
使用IDEA搭建SpringMVC环境,Maven导入了依赖,但是运行报错 java.lang.ClassNotFoundException
11 1
|
24天前
|
Kubernetes Ubuntu Linux
通过 IntelliJ IDEA 对 containerd 进行源码级调试
本文介绍如何在 Ubuntu 22.04 系统上,通过 IntelliJ IDEA 对 containerd 进行源码级调试。我们将从 containerd 的安装、源码编译、验证调试信息的存在,到最终的调试过程中,每一步骤都进行详细讲解。
通过 IntelliJ IDEA 对 containerd 进行源码级调试