跟益达学Solr5之在Eclipse下编译Solr5源码

简介:

    2015年6月7日,Solr已经更新到5.2.0,所以这里我以5.2.0版本为例,你使用Solr5.x都是类似的区别不大。开始之前,首先你需要去Solr官网去下载Solr5源码,如图:

 

 

 

 

 taz包其实是可以使用Winrar解压的,解压后如图:

 我是解压到F:\javazipfile目录下,官方默认提供的源码包并不是一个标准的Eclipse Java Project,需要使用ivy进行构建,通过ivy的构建可以将下载下来的源码包转换成一个标准的Java Project,然后我们就能把Java Project import到我们的Eclipse中去了,然后你就能在Eclipse中自由的阅读源码并自己打包Solr和Lucene成Jar包啦。记住,构建命令是ant eclipse。不过前提是你需要事先准备好构建环境:

    1. 首先你需要安装ANT并配置好ANT的环境变量ANT_HOME

    2. 下载IVY并将ivy.jar复制到ANT_HOME\lib目录下

    3.下载并安装Maven以及配置好MAVEN_HOME环境变量,如果有必要的话,你还可以设置修改下默认的本地仓库位置;

    4.你需要下载一个Eclipse,由于Solr5.x对于JDK要求至少1.7+,所以你的Eclipse版本最好是使用4.x,否则你的Eclipse无法支持JDK1.7进行编译

 

设置ANT_HOME是为了方便你在任意目录路径下执行ant命令,

 检查你的Ant是否安装正确,请在命令行下输入ant -version

 下载ivy,如图:

 

 

 下载完成后,解压ivy压缩包,然后复制ivy.jar包到你的ANT_HOME\lib目录下,如图:

 然后打开命令行,进入你的Solr源码解压根目录,如图:

 

 然后敲ant eclipse,回车,如果构建成功,你将会看到如图这样的提示信息:

 构建成功后的目录结构如图,

 你会发现,它已经变成了一个标准的Eclipse Java Project啦,我们只需要打开Eclipse import进去就行啦,具体操作如图:

 

 

 

 导入成功后,如图:

 然后你就可以在Eclipse里查阅Solr和Lucene的源码了(因为Solr和Lucene已经合体为一个项目了,所以两者源码在一起)。

 

如果我想把源码打包成jar呢?

首先打开Eclipse中的Ant视图,如图:

 

 

 

如果你的Eclipse没有安装ivy插件,则你执行jar命令后可能会得到如图这样的异常:

 提示信息告诉我们,这个构建需要依赖ivy,在你当前的ant classpath路径下找不到ivy,所以无法构建。至于如何在Eclipse下安装ivy插件,请你们自己Google,这不在本篇讨论范围内,如图Google,你懂的:

 

       

 

 当然你也可以下载ivy插件进行links方式手动安装,如图:

 安装步骤官方也说明了,自己照着做就OK了。

Xml代码   收藏代码
  1. Uncompress the archive. In there you will find two folders containing the artifacts to deploy in your Eclipse:  
  2. the IvyDE features features/org.apache.ivyde.*.jar to put in your $ECLIPSE_HOME/features  
  3. the IvyDE plugins plugins/org.apache.ivyde.*.jar to put in your $ECLIPSE_HOME/plugins  

   OK,打完收工!如果你还有什么疑问,请QQ联系我。

 

   益达Q-Q:                7-3-6-0-3-1-3-0-5

 

 

   益达的Q-Q群:      1-0-5-0-9-8-8-0-6

转载:http://iamyida.iteye.com/blog/2218576

目录
相关文章
|
4月前
|
开发工具 Android开发 git
【dbeaver】Eclipse 运行 dbeaver 源码
【dbeaver】Eclipse 运行 dbeaver 源码
130 0
|
7月前
|
Java 关系型数据库 MySQL
SSM度假村管理系统开发mysql数据库web结构java编程计算机网页源码eclipse项目
SSM 度假村管理系统是一套完善的信息系统,结合SSM框架完成本系统,对理解JSP java编程开发语言有帮助系统采用SSM框架(MVC模式开发),系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 前段主要技术html div js 后端主要技术 SSM框架 java jdbc 数据库 mysql 开发工具 eclipse JDK1.8 TOMCAT 8.5
36 0
|
4月前
|
Java 关系型数据库 BI
基于Java Swing 开发的网吧管理系统【eclipse和idea两个版本运行源码】
基于Java Swing 开发的网吧管理系统【eclipse和idea两个版本运行源码】
|
7月前
|
Java 关系型数据库 MySQL
SSM培训报名管理系统开发mysql数据库web结构java编程计算机网页源码eclipse项目
SSM 培训报名管理系统是一套完善的信息系统,结合SSM框架完成本系统,对理解JSP java编程开发语言有帮助系统采用SSM框架(MVC模式开发),系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 前段主要技术html div js 后端主要技术 SSM框架 java jdbc 数据库 mysql 开发工具 eclipse JDK1.8 TOMCAT 8.5
33 0
|
7月前
|
Java 关系型数据库 MySQL
SSM宾馆客房管理系统开发mysql数据库web结构java编程计算机网页源码eclipse项目
SSM 宾馆客房管理系统是一套完善的信息系统,结合springboot框架和bootstrap完成本系统,对理解JSP java编程开发语言有帮助系统采用SSM框架(MVC模式开发),系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 前段主要技术 bootstrap.css jquery 后端主要技术 SSM 数据库 mysql 开发工具 eclipse JDK1.8 TOMCAT 8.5
41 0
SSM宾馆客房管理系统开发mysql数据库web结构java编程计算机网页源码eclipse项目
|
7月前
|
Java 关系型数据库 MySQL
SSM咖啡点餐管理系统开发mysql数据库web结构java编程计算机网页源码eclipse项目
SSM 咖啡点餐管理系统是一套完善的信息系统,结合SSM框架完成本系统,对理解JSP java编程开发语言有帮助系统采用SSM框架(MVC模式开发),系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 前段主要技术html div js jquery 后端主要技术 SSM框架 java jdbc 数据库 mysql 开发工具 eclipse JDK1.8 TOMCAT 8.5
52 0
|
7月前
|
Java 关系型数据库 MySQL
SSM校园设备管信息管理系统开发mysql数据库web结构java编程计算机网页源码eclipse项目
SSM 校园设备管信息理系统是一套完善的信息系统,结合SSM框架完成本系统,对理解JSP java编程开发语言有帮助系统采用SSM框架(MVC模式开发),系统具有完整的源代码和数据库,系 统主要采用B/S模式开发。 前段主要技术html div js 后端主要技术 SSM框架 java jdbc 数据库 mysql 开发工具 eclipse JDK1.8 TOMCAT 8.5
73 0
SSM校园设备管信息管理系统开发mysql数据库web结构java编程计算机网页源码eclipse项目
|
Java 编译器 Android开发
IDEA-设置-Java编译器对常量字符串过长的处理之适用于JDK17版本eclipse编译解决方案
IDEA-设置-Java编译器对常量字符串过长的处理之适用于JDK17版本eclipse编译解决方案
1028 0
IDEA-设置-Java编译器对常量字符串过长的处理之适用于JDK17版本eclipse编译解决方案
|
测试技术 Android开发
消失的Eclipse-控制台console、右侧项目导航Package Explorer、点击类不弹出内容、copy过来正确的测试单元类'废了'的解决措施、eclipse设置编译前自动保存代码
消失的Eclipse-控制台console、右侧项目导航Package Explorer、点击类不弹出内容、copy过来正确的测试单元类'废了'的解决措施、eclipse设置编译前自动保存代码
188 0
消失的Eclipse-控制台console、右侧项目导航Package Explorer、点击类不弹出内容、copy过来正确的测试单元类'废了'的解决措施、eclipse设置编译前自动保存代码
|
Java Android开发
哇!eclipse+webservice开发实例居然这样写(有源码可用)
哇!eclipse+webservice开发实例居然这样写(有源码可用)
108 0
哇!eclipse+webservice开发实例居然这样写(有源码可用)