Zookeeper源码编译为Eclipse工程(转)
原文地址:http://blog.csdn.net/jiyiqinlovexx/article/details/41179293
为了深入学习ZooKeeper源码,首先就想到将其导入到Eclispe中,所以要先将其编译为Eclispe工程。
1、什么是Ant???
Apache Ant™
Apache Ant is a Java library and command-line tool whose mission is to drive processes described in build files as targets and extension points dependent upon each other. The main known usage of Ant is the build of Java applications. Ant supplies a number of built-in tasks allowing to compile, assemble, test and run Java applications. Ant can also be used effectively to build non Java applications, for instance C or C++ applications. More generally, Ant can be used to pilot any type of process which can be described in terms of targets and tasks.
Ant is written in Java. Users of Ant can develop their own "antlibs" containing Ant tasks and types, and are offered a large number of ready-made commercial or open-source "antlibs".
Ant is extremely flexible and does not impose coding conventions or directory layouts to the Java projects which adopt it as a build tool.
Software development projects looking for a solution combining build tool and dependency management can use Ant in combination with Apache Ivy.
The Apache Ant project is part of the Apache Software Foundation.
Apache Ant,是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发。由Apache软件基金会所提供。
用过Linux系统的人都应该知道 make这个命令。当编译Linux内核及一些软件的源程序时,经常要用这个命令。Make命令其实就 是一个项目管理工具,而Ant所实现功能与此类似。像make,gnumake和nmake这些编译工具都有 一定的缺陷,但是Ant却克服了这些工具的缺陷。最初Ant开发者在开发跨平台的应用时,同样也 是基于这些缺陷对Ant做了更好的设计。
Ant的核心是其构建文件,当开始一个新的项目时,首先应该编写Ant构建文件。构建文件定义了构建过程,并被团队开发 中每个人使用。Ant构建文件默认名为build.xml,也可以取其他的名字。只不过在运行的时候 把这个命名当作参数传给Ant。构建文件可以放在任何的位置。一般做法是放在项目顶层目录中。 这样可以保持项目的简洁和清晰。下面是一个典型的项目层次结构。
(1) src存放文件。
(2) class存放编译后的文件。
(3) lib存放第三方JAR包。
(4) dist存放打包,发布以后的代码。
更多关于ant的知识大家可以自行搜索。
2、安装ant
(1)下载ant,我下载的是apache-ant-1.9.4-bin.zip(地址:http://ant.apache.org/bindownload.cgi)
(2)解压到特定目录,设置ANT_HOME(ant的解压路径)和path(%ANT_HOME%\bin)
(3)打开cmd,运行ant -version,出现版本信息说明安装成功了。
3、下载Zookeeper源码并用ant进行编译为eclipse工程
Zookeeper GitHub的下载地址是:https://github.com/apache/zookeeper
解压,打开cmd,切换到Zookeeper源码的根目录下面(下面有一个build.xml文件),然后输入命令> ant eclipse
出现下面界面提示编译成功:
然后打开eclispe,随便什么版本,选择import,类型是现有的eclispe工程。
点击完成,但是发现我的源码竟然有好几处错误,不过类型都是一样,都是Cannot switch on a value of type XXX:
在网上查了一下,跟工程文件使用来编译的JDK版本有关,需要将jdk 7切换到jdk 6:
在导入的Zookeeper工程上面点击右键-》properties-》Java Compiler,将compiler compliance level切换为1.6:
这样错误就消失了,下面就可以开始进入真正的Zookeeper源码之旅了!
Zookeeper源码编译为Eclipse工程(转)的更多相关文章
- Zookeeper源码编译为Eclipse工程(win7下Ant编译)
前言 ZooKeeper是雅虎的.用Ant进行软件构建. 千里之行,始于足下.想看源码的第一步,是下载源码并导入某个IDE工具. Ant http://ant.apache.org/ Windows: ...
- (转)把hadoop源码关联到eclipse工程
把hadoop源码关联到eclipse工程 转:http://www.superwu.cn/2013/08/04/355 在eclipse中阅读源码非常方便,利于我们平时的学习,下面讲述如何把 ...
- Hadoop,HBase,Zookeeper源码编译并导入eclipse
基本理念:尽可能的参考官方英文文档 Hadoop: http://wiki.apache.org/hadoop/FrontPage HBase: http://hbase.apache.org/b ...
- Apache Flume 1.7.0 源码编译 导入Eclipse
前言 最近看了看Apache Flume,在虚拟机里跑了一下flume + kafka + storm + mysql架构的demo,功能很简单,主要是用flume收集数据源(http上报信息),放入 ...
- zookeeper 源码编译
环境:mac 1.github上下载 源码 项目地址:https://github.com/apache/zookeeper 2.安装 ant mac:brew update -> brew ...
- 使用Maven将Hadoop2.2.0源码编译成Eclipse项目
编译环境: OS:RHEL 6.3 x64 Maven:3.2.1 Eclipse:Juno SR2 Linux x64 libprotoc:2.5.0 JDK:1.7.0_51 x64 步骤: 1. ...
- 将android Settings 源码 导入到 eclipse工程
1. 新建 android 项目 拷贝源码/packages/apps/Settings到你的其它目录. 在eclipse中,新建项目,但是要从exitting source选择: 2. 导入相关的 ...
- hadoop源码import到eclipse工程
1.解压hadoop-1.1.2.tar.gz,重点在src文件夹 2.在eclipse中通过菜单栏创建一个java工程,工程名随便 3.在创建的工程上,点击右键,在弹出菜单中选择最后一项,在弹出窗口 ...
- 【转】如何把hadoop-1.x源码关联到Eclipse工程
[转]http://www.tuicool.com/articles/mIb2EzU
随机推荐
- SSH服务器拒绝密码检测
这两天在配置Ubuntu 14.04的环境时,碰到一个典型的问题:在用xshell 连接Ubuntu时,显示"SSH服务器拒绝密码检测"的问题,在经过一系列配置修改后,最终怀疑是否 ...
- 从C语言快速学PHP
PHP是解释性语言,是Web开发中常用的语言.对于web编程,建议学习时参考w3cschool的在线api手册. PHP和C语言及其相似,懂C的人只要稍加学习就能写出简单的PHP程序.以下是PHP与C ...
- socket(一)
相关链接: http://my.oschina.net/u/1378445/blog/340206?p=2&temp=1469158886336#blog-comments-list http ...
- 从零开始HTML(二 2016/9/20)
1.布局 ① 使用 <div> 元素的 HTML 布局,<div> 元素常用作布局工具,因为能够轻松地通过 CSS 对其进行定位. <!DOCTYPE html> ...
- 翻译:打造基于Sublime Text 3的全能python开发环境
原文地址:https://realpython.com/blog/python/setting-up-sublime-text-3-for-full-stack-python-development/ ...
- 【转】IP分片和TCP分段
ZC: 由于 TCP中 MSS 的关系,TCP 不会造成 IP分片和TCP分段 ! 1.http://zhidao.baidu.com/link?url=YCnR8B-1EN4-cgauRtwa-iV ...
- jQuery改变兄弟元素样式,及:not([class="allclassname"])筛选小结
以前一直对于jquery感到很畏惧,最近做点击图表变色,将其他元素图片复位的小需求,总结了一下一点小心得. 主要两点是:1.将所有兄弟元素的样式设置为一样,对于子元素的遍历: 2.对于特殊不需要变化的 ...
- GC overhead limit exceeded填坑心得
我遇到这样的问题,本地部署时抛出异常java.lang.OutOfMemoryError:GC overhead limit exceeded导致服务起不来,查看日志发现加载了太多资源到内存,本地的性 ...
- linux笔记:shell编程-正则表达式
正则表达式与通配符(正则表达式匹配字符串,是包含匹配:通配符匹配文件名,是完全匹配.): 基础正则表达式: 正则表达式示例:
- centos apache源码安装过程记录
1.下载相关源文件 wget http://mirror.bjtu.edu.cn/apache/httpd/httpd-2.4.18.tar.gzwget http://mirrors.hust.ed ...