将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. Orcale 数据加载

    CSV 逗号分隔值格式文件 1,若要加载的文件不是CSV格式,可以修改数据文件,用分隔符来替换逗号:也可以修改控制文件,将FIELDS TERMINATED BY的值改为实际的分隔符. eg, 要向s ...

  2. 【编程思想】【设计模式】【创建模式creational】原形模式Prototype

    Python版 https://github.com/faif/python-patterns/blob/master/creational/prototype.py #!/usr/bin/env p ...

  3. 阿里云esc 安装 mysql5.7.27

    1. 下载:  wget  http://repo.mysql.com/mysql57-community-release-el7-10.noarch.rpm 2. 安装: (1) yum -y in ...

  4. 1、Redis简介

    一.NOSQL 1.什么是NOSQL? NoSQL(NoSQL = Not Only SQL ),意即"不仅仅是SQL". 指的是非关系型的数据库.NoSQL有时也称作Not On ...

  5. 减轻内存负担,在 pymysql 中使用 SSCursor 查询结果集较大的 SQL

    前言 默认情况下,使用 pymysql 查询数据使用的游标类是 Cursor,比如: import pymysql.cursors # 连接数据库 connection = pymysql.conne ...

  6. Python语法之变量

    一.变量简介 1.什么是变量 变量即变化的量,用于记录事物的某种状态,比如人的年龄.性别,游戏角色的等级.金钱. 2.如何使用变量 日常生活中: 姓名:Jason 年龄:18 爱好:音乐 程序中: u ...

  7. 数组队列如何手撕?解密ArrayBlockingQueue的实现内幕!

    队列 聊起队列,你一定会联想到一个与队列相似的数据结构:栈. 为了更好的理解什么是队列,我们将它和栈来比较一下: 队列的特点是:先进先出,如下图,1先进,1就先出. 图1:队列的图解 栈的特点是:先进 ...

  8. ORM-数据库命令操作包装实例对象学习

    http://www.cnblogs.com/alex3714/articles/5978329.html python 之路,Day11 - sqlalchemy ORM   本节内容 ORM介绍 ...

  9. axios 高级封装

    import axios from 'axios'; import qs from 'qs'; const Unit = { async getApi(ajaxCfg){ let data = awa ...

  10. 总结Vue第二天:自定义子组件、父子组件通信、插槽

    总结Vue第二天:自定义子组件.父子组件通信.插槽 一.组件: 组件目录 1.注册组件(全局组件.局部组件和小demo) 2.组件数据存放 3.父子组件通信(父级向子级传递数据.子级向父级传递数据) ...