为了深入学习ZooKeeper源代码,首先就想到将其导入到Eclispe中,所以要先将其编译为Eclispeproject。



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进行编译为eclipseproject

Zookeeper GitHub的下载地址是:https://github.com/apache/zookeeper

解压,打开cmd。切换到Zookeeper源代码的根文件夹以下(以下有一个build.xml文件),然后输入命令> ant eclipse

出现以下界面提示编译成功:

然后打开eclispe,随便什么版本号,选择import。类型是现有的eclispeproject。

点击完毕。可是发现我的源代码居然有好几处错误。只是类型都是一样,都是Cannot switch on a value of type XXX:

在网上查了一下,跟project文件使用来编译的JDK版本号有关,须要将jdk 7切换到jdk 6:

在导入的Zookeeperproject上面点击右键-》properties-》Java Compiler,将compiler compliance level切换为1.6:

这样错误就消失了,以下就能够開始进入真正的Zookeeper源代码之旅了。

Zookeeper源代码编译为Eclipseproject(win7下Ant编译)的更多相关文章

  1. Zookeeper源码编译为Eclipse工程(win7下Ant编译)

    前言 ZooKeeper是雅虎的.用Ant进行软件构建. 千里之行,始于足下.想看源码的第一步,是下载源码并导入某个IDE工具. Ant http://ant.apache.org/ Windows: ...

  2. Win7下VS2008编译QtiPlot

    Win7下VS2008编译QtiPlot By wangsh 2011-11-25 QtiPlot 是一款开源免费的科学绘图软件,可运行在多个平台(windows.Linux等)中,从功能上讲,Qti ...

  3. 【FAQ】Ubuntu环境下ant编译android代码问题

    在Ubuntu14.04环境下,编译android程序时候,运行ant debug的时候出现如下异常:

  4. Win7下静态编译QT5.12源码

    官方参考文档:https://doc.qt.io/qt-5/build-sources.html CSDN博客:https://blog.csdn.net/GG_SiMiDa/article/deta ...

  5. mongodb及mongoclient在win7下的编译和使用

    1.导言 折腾mongodb几个小时最终有结果了.呃.如今就简单总结一下. 事实上我的需求非常easy,就是在C++代码中调用mongodb的库函数.也就是要得到mongoclient.lib.本来想 ...

  6. 终于解决了一个Win7 下 VS 编译的问题,困扰了我好几个月

    用 Win7 一年多了,一直在这个环境下编程,其他都挺好,就是有个问题非常恶心,在VS下编译经常出现进程正在使用,无法覆盖的错误,这个问题我记得博问中以前也有其他人遇到过,也没有解决掉.此问题困扰了我 ...

  7. opencv3.1 + opencv_contrib编译记事(win7下)

    折腾了好几天,终于把opencv3.1加上一个额外的包opencv_contrib编译好了.(总体来说编译opencv就是填坑!!!) 最后我编译成功的是mingw版本的.也就是结合了Qt4.7+cm ...

  8. MXNet在64位Win7下的编译安装

    注:本文原创,作者:Noah Zhang  (http://www.cnblogs.com/noahzn/) 我笔记本配置比较低,想装个轻量级的MXNet试试,装完之后报错,不是有效的应用程序,找不到 ...

  9. win7下cmake编译opencv2.3.1生成opencv—createsamples.exe和opencv_haartrainingd.exe

    第一步:下载安装cmake,之后进行默认安装即可,这步略过. 第二步:配置cmake ,使cmake找到opencv进行编译安装 watermark/2/text/aHR0cDovL2Jsb2cuY3 ...

随机推荐

  1. 设备树学习之(一)GPIO中断【转】

    本文转载自:http://blog.csdn.net/lizuobin2/article/details/54563587 开发板:tiny4412SDK + S702 + 4GB Flash 要移植 ...

  2. My first blog for java

    我的第一个java程序: package com.hellojava; /** * @author 沽-名-钓-誉 */ public class HelloJava{ /** * @param 输出 ...

  3. 将实体类/匿名对象转换为SqlParameter列表

    每次操作数据库参数化实在是太麻烦了,于是自己瞎琢磨,琢磨出下面扩展方式,能力有限,还有不足之处,请多多指教. /// <summary> /// <remarks> /// & ...

  4. hdu3938 Portal 离线的并查集

    离线算法是将全部输入都读入,计算出所有的答案以后再输出的方法.主要是为避免重复计算.类似于计算斐波那契数列的时候用打表的方法. 题目:给一个无向图,求有多少个点对,使得两点间的路径上的花费小于L,这里 ...

  5. MemCached总结一:Unbutu操作系统下memcached服务器安装和telnet方式连接memcache

    1.在Unbutu上安装memcached服务器 sudo apt-get update sudo apt-get install memcached 2. 确认memcached是否安装 要确认me ...

  6. SQL 字段类型详解

    bit    整型 bit数据类型是整型,其值只能是0.1或空值.这种数据类型用于存储只有两种可能值的数据,如Yes 或No.True 或False .On 或Off.    注意:很省空间的一种数据 ...

  7. Difference between == and ===

    In swift 3 and above === (or !==) Checks if the values are identical (both point to the same memory ...

  8. java 常用API 包装 数据转换

    package com.oracel.demo01; public class Sjzh { // 将基本数据类型转字符串 public static void main(String[] args) ...

  9. BZOJ 1303: [CQOI2009]中位数图 问题转化_扫描_思维

    将比 b 大的设成 1,比 b 小的设成 -1,开个桶左右扫描一下,乘法原理乘一乘就好了. 虽然一眼切,不过这个基于中位数的转化还是相当重要的.middle 那个主席树的题也需要该做法 Code: # ...

  10. Nginx 支持websocket的配置

    Nginx 支持websocket的配置server { listen 80; server_name 域名; location / { proxy_pass http://127.0.0.1:808 ...