环境
- Mac OS
- Java 1.8
- Maven 3.3.9
- Intellij IDEA
步骤
- 源码下载
- git clone https://github.com/elastic/elasticsearch.git
- git checkout -b es v2.1.0
- 编译代码
- mvn package
打包时间可能比较久,中间会通过mvn下载依赖的包,mvn相关命令可参考文档(http://wiki.jikexueyuan.com/project/maven/)- cd core && mvn idea:idea
core目录为elasticsearch源码,进入该目录生成idea项目- 在idea中File->open打开core
- 在core目录中添加config目录,可以从官网下载
- 运行elasticsearch
打开刚刚导入成功的工程:
Run As----Run Configution---Args
设置Main class 为 org.elasticsearch.bootstrap.Elasticsearch
设置Program arguments 为 start
设置VM options为 -Des.path.home=${es-home}\core
问题
- mvn package阶段找不到-SNAPSHOT.jar文件
很多-SNAPSHOT.jar在mvn库中不存在,将core\pom.xml中的『version:2.1.0-SNAPSHOT』改为『version:2.1.0』- mvn package阶段报错:Cannot build due to "group id '1519764623' is too big ( > 2097151 )
更新pom.xml,
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.6</version>
<configuration>
<tarLongFileMode>posix</tarLongFileMode>
</configuration>- mvn package阶段报错:An Ant BuildException has occured: The following files contain tabs or...
mvn package -Dvalidate.skip=true- 运行阶段报错:src\test目录下错误
直接删除src\test