Zookeeper源代码编译为Eclipseproject(win7下Ant编译)
为了深入学习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编译)的更多相关文章
- Zookeeper源码编译为Eclipse工程(win7下Ant编译)
前言 ZooKeeper是雅虎的.用Ant进行软件构建. 千里之行,始于足下.想看源码的第一步,是下载源码并导入某个IDE工具. Ant http://ant.apache.org/ Windows: ...
- Win7下VS2008编译QtiPlot
Win7下VS2008编译QtiPlot By wangsh 2011-11-25 QtiPlot 是一款开源免费的科学绘图软件,可运行在多个平台(windows.Linux等)中,从功能上讲,Qti ...
- 【FAQ】Ubuntu环境下ant编译android代码问题
在Ubuntu14.04环境下,编译android程序时候,运行ant debug的时候出现如下异常:
- Win7下静态编译QT5.12源码
官方参考文档:https://doc.qt.io/qt-5/build-sources.html CSDN博客:https://blog.csdn.net/GG_SiMiDa/article/deta ...
- mongodb及mongoclient在win7下的编译和使用
1.导言 折腾mongodb几个小时最终有结果了.呃.如今就简单总结一下. 事实上我的需求非常easy,就是在C++代码中调用mongodb的库函数.也就是要得到mongoclient.lib.本来想 ...
- 终于解决了一个Win7 下 VS 编译的问题,困扰了我好几个月
用 Win7 一年多了,一直在这个环境下编程,其他都挺好,就是有个问题非常恶心,在VS下编译经常出现进程正在使用,无法覆盖的错误,这个问题我记得博问中以前也有其他人遇到过,也没有解决掉.此问题困扰了我 ...
- opencv3.1 + opencv_contrib编译记事(win7下)
折腾了好几天,终于把opencv3.1加上一个额外的包opencv_contrib编译好了.(总体来说编译opencv就是填坑!!!) 最后我编译成功的是mingw版本的.也就是结合了Qt4.7+cm ...
- MXNet在64位Win7下的编译安装
注:本文原创,作者:Noah Zhang (http://www.cnblogs.com/noahzn/) 我笔记本配置比较低,想装个轻量级的MXNet试试,装完之后报错,不是有效的应用程序,找不到 ...
- win7下cmake编译opencv2.3.1生成opencv—createsamples.exe和opencv_haartrainingd.exe
第一步:下载安装cmake,之后进行默认安装即可,这步略过. 第二步:配置cmake ,使cmake找到opencv进行编译安装 watermark/2/text/aHR0cDovL2Jsb2cuY3 ...
随机推荐
- 国内物联网平台初探(七) ——Ablecloud物联网自助开发和大数据云平台
平台定位 面向IoT硬件厂商,提供设备联网与管理.远程查看控制.定制化云端功能开发.海量硬件数据存储与分析等基础设施,加速硬件实现联网智能化. 架构 服务 云端服务一体化开发引擎 业内独创一体化开发引 ...
- Spark新愿景:让深度学习变得更加易于使用——见https://github.com/yahoo/TensorFlowOnSpark
Spark新愿景:让深度学习变得更加易于使用 转自:https://www.jianshu.com/p/07e8200b7cea 前言 Spark成功的实现了当年的承诺,让数据处理变得更容易,现在 ...
- Node.js:多进程
ylbtech-Node.js:多进程 1.返回顶部 1. Node.js 多进程 我们都知道 Node.js 是以单线程的模式运行的,但它使用的是事件驱动来处理并发,这样有助于我们在多核 cpu 的 ...
- Excel 查找某列中的数据在另一列是否存在并输出其他列的数据
最近在操作Excel文件数据导入数据库时,经常需要检查Excel中哪些数据数据库中已经存在,哪些不存在,然后再将不存在数据库中的Excel数据导入:在此过程中,经常需要操作Excel中的数据,所以.也 ...
- 向量叉乘 Cross product
参考:Wiki Cross product
- mysql的递归(使用函数)
getChildList: BEGIN #声明两个局部变量 ); ); #初始化局部变量 SET sTemp = ''; #调用cast函数将int转换为char SET sTempChd = roo ...
- Navcat12 for mysq 激活工具
Navcat12 for mysq 激活 https://www.cnblogs.com/sunyangCoder/p/9060454.html
- PowerDesigner 逆向工程 Could not Initialize JavaVM!
原项目的大量的表,使用PowerDesigner 进行逆向工程.提示Could not Initialize JavaVM! 网上找到原因,PowerDesigner 不可以使用64位JDK环境! 有 ...
- linux网络路由配置
网卡配置文件介绍: # vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 (描述网卡对应的设备别名,例如ifcfg-eth0的文件中它为 ...
- 基于连接的Java网络编程
实现了基于TCP的Java Socket编程,功能很简单:客户端向服务器端输出一名话"connect",服务器端接收输出到控制台并向客户端输出一名话"Hello" ...