将Solr的5.5.3版本源码导入Eclipse,

Solr源码需要使用ant构建后才能导入Eclipse。

1.JDK安装

Solr要求jdk1.7+;

请参考Windows下安装配置jdk

2.ANT安装

Solr要求ant1.8+;

请参考Windows下安装配置ant

3.Solr源码下载

使用如下地址或者自行去官网下载:
http://mirror.bit.edu.cn/apache/lucene/solr/5.5.3/

下载solr-5.5.3-src.tgz源码压缩包。

4.编译Solr源码

4.1.解压下载的solr-5.5.3-src.tgz包

解压到目录E:\Code\Solr,

看到的build.xml文件是基于ant构建的,

相对的pom.xml是基于maven构建。

4.2.拷贝ivy-2.3.0.jar到ant

解压后的目录看到需要编译的文件中有一些是ivy的,

需要借助ivy来下载需要的包,

ivy有两种方式使用:

1种就是下载ivy-xxxx.jar复制到%ANT_HOME%/lib下面;

2种就是直接用ant ivy-bootstrap去下载。

这里采用第1种方式,

从ivy官网下载ivy-2.3.0.jar,

将其放入到ant的lib目录:

D:\Program Files\apache-ant-1.9.7\lib

4.3.设置ant代理

如果电脑无法直连外网下载,

可以使用ant命令设置代理:

set ANT_OPTS=-Dhttp.proxyHost=proxynj.com.cn -Dhttp.proxyPort=80

4.4.使用ant命令编译Solr源码

进入Windows的cmd命令行窗口,

进入solr-5.5.3源码目录,

执行如下命令:

ant eclipse

请耐心等待,

第一次构建的时候比较慢,

构建成功出现如下日志:

eclipse:
[copy] Copying 1 file to E:\Code\Solr
[mkdir] Created dir: E:\Code\Solr\.settings
[copy] Copying 3 files to E:\Code\Solr\.settings
[xslt] Processing E:\Code\Solr\build.xml to E:\Code\Solr\
.classpath
[xslt] Loading stylesheet E:\Code\Solr\dev-tools\eclipse\dot.class
path.xsl
[echo]
[echo] SUCCESS: You must right-click your project and choose Refresh. [echo] Your project must use a Java 7 JRE.
[echo] BUILD SUCCESSFUL
Total time: 176 minutes 29 seconds

4.5.提示下载失败的问题

如果总是提示下载失败,

需要编辑solr\lucene\ivy-settings.xml,

将其中https://oss.sonatype.org替换成可用的版本仓库地址,

可以替换为http://nexus.server2

或者替换为http://10.43.33.202,

再重新执行ant eclipse。

5.Eclipse导入Solr工程

上面使用ant编译构建成功后,

可以看到多出了.classpath和.project等文件,

把Solr源码当做普通的工程导入Eclipse即可。

Eclipse -> File -> Import -> General -> Existing Projects into Workspace

Select root directory填写Solr源码的目录:

E:\Code\Solr

6.参考文章

solr源码导入eclipse

Eclipse导入Solr源码Version5.5.3的更多相关文章

  1. Eclipse导入Zookeeper源码Version2017.11.3

    将Zookeeper源码导入Eclipse, Zookeeper源码需要使用ant构建后才能导入Eclipse, 和Solr的源码一样也是使用ant构建的, 大部分可以参考Eclipse导入Solr源 ...

  2. Eclipse导入Hadoop源码项目及编写Hadoop程序

    一 Eclipse导入Hadoop源码项目 基本步骤: 1)在Eclipse新建一个java项目[hadoop-1.2.1] 2)将Hadoop压缩包解压目录src下的core,hdfs,mapred ...

  3. eclipse导入Java源码

    eclipse导入Java源码 下载源码包(一般jdk都自带了, 我的没有) src.zip eclipse -> window -> preferences -> JAVA -&g ...

  4. Hadoop1.x目录结构及Eclipse导入Hadoop源码项目

    这是解压hadoop后,hadoop-1.2.1目录 各目录结构及说明: Eclipse导入Hadoop源码项目: 注意:如果没有ant的包可以去网上下,不是hadoop里面的. 然后如果通过以上还报 ...

  5. eclipse导入tomcat源码

    我的开发环境:windows7  64位 一.官网下载tomcat源码.在此奉上一站地址:http://archive.apache.org/dist/tomcat/: 二.编译源码生成.jar文件: ...

  6. Eclipse导入Elasticsearch源码

    Eclipse导入Elasticsearch源码的步骤, 基于Elasticsearch 6.2.2的源码版本. 1.安装JDK1.9 Elasticsearch 6.2.2需要JDK1.9编译,否则 ...

  7. spring源码学习(一):eclipse导入spring源码

    前言 对于一门技术,我们最先是了解它(what),然后再熟练的使用它(how)以及何时用它(when),最后肯定要看透它(why).spring作为Java开发人员可以说是最熟悉不过的了,基本每个Ja ...

  8. Eclipse导入hadoop源码

    在windows中,使用Eclipse阅读hadoop源码,首先到apache官网下载tar.gz的hadoop源码压缩文件,解压. 方法1:(hadoop技术内幕推荐) 打开Eclipse,新建ja ...

  9. Eclipse导入Tomcat源码(转)

    想要研究下Tomcat的体系结构或者源码,最好将Tomcat的源码导入到ide中,编写实例进行代码跟踪(debug). 这里参考了网上一些资料,将自己操作过程记个流水账. 准备: 1.Tomcat源码 ...

随机推荐

  1. Linux系统信息查看命令(ZZ)

    http://hi.baidu.com/thinkdifferent/blog/item/22f4a80161630e011d958384.html转自一个baidu师兄的博客,很好的一个总结,推荐下 ...

  2. virtualBox 系统移植

    把virtualbox已经存在的系统移植到其他机器. 1.把系统如下文件考到一个安装了virtualbox的机器. 2.点击控制-->注册 然后浏览到复制的文件路径. 3.修改uuid 不管是l ...

  3. wsdl实例

    1 <?xml version='1.0' encoding='UTF-8'?> 2 <wsdl:definitions name="HelloWorldService&q ...

  4. 【Java】【设计模式】单例设计模式

    思想: 为了避免其他程序过多建立该类对象,先禁止其他程序建立该类对象 为了让其他程序可以访问到该类对象,只好在本类中自定义一个对象 为了方便其他程序对自定义对象的访问,可以对外提供一些访问方式 代码体 ...

  5. MFC入门示例之树控件(CTreeControl)

    1 //增加按钮 2 void CMFCApplication8Dlg::OnBnClickedButtonAdd() 3 { 4 //树中添加节点 5 CString strText; 6 GetD ...

  6. [笔记] encoder-decoder NEURAL MACHINE TRANSLATION BY JOINTLY LEARNING TO ALIGN AND TRANSLATE

    原文地址 :[1409.0473] Neural Machine Translation by Jointly Learning to Align and Translate (arxiv.org) ...

  7. Mysql资料 mysqldump

    目录 一.简介 备份过程 优缺点 命令使用 myisam引擎 二.安装 配置 日志 三.日常使用 备份全库 备份单个库(带建立库的语句) 备份单个库(不自动建立库) 备份表合集 从全备中恢复单个库 其 ...

  8. <转>libevent使用demo

    这篇文章介绍下libevent在socket异步编程中的应用.在一些对性能要求较高的网络应用程序中,为了防止程序阻塞在socket I/O操作上造成程序性能的下降,需要使用异步编程,即程序准备好读写的 ...

  9. java 多线程 集合的包装方法Collections.synchronizedXXXXX;线程安全的集合类:Java.util.concurrent.ConcurrentXXX;java.util.concurrent.CopyOnWriteXXXX

    问题:ArrayList  等线程不安全 当多线程并发修改一个集合数据时,可能同一个下标位置被覆盖. 示例代码: 一个List,我们创建10个线程,每个线程往这个List中添加1000条数据,结果往往 ...

  10. mysql绿色版添加服务