Java开源 构建工具
2010-06-20 16:47
190 查看
http://www.ideagrace.com/sf/build-systems/
Ant 点击次数:85
Ant是apache软件基金会jakarta项目中的一个子项目类似于linux下的Make,由于是基于 java编写的,因此具有很好的跨平台性。Ant由一些内置任务(task)和可选择的任务组成(还可以编写自己的任务),使用Make时,你需要写一个 Makefile文件,而用ant时则需要写一个build.xml文件。
第一:ant脚本是可以直接运行在maven中的。maven和ant最大的差别就是在于maven的编译以及所有的脚本都有一个基础,就是POM (project object model)。这个模型定义了项目的方方面面,然后各式各样的脚本在这个模型上工作,而ant完全是自己定义,显然maven更胜一筹。
第二:Maven对所依赖的包有明确的定义,如使用那个包,版本是多少,一目了然。而ant则通常是简单的inclde 所有的jar。导致的最终结果就是,你根本无法确定JBoss中的lib下的common-logging 是哪个版本的,唯一的方法就是打开 META-INF 目录下MANIFEST.MF。估计JBoss迟早会转向Maven的。
第三:Maven是基于中央仓库的编译,即把编译所需要的资源放在一个中央仓库里,如jar,tld,pom,等。当编译的时候,maven会自动在仓库中找到相应的包,如果本地仓库没有,则从设定好的远程仓库中下载到本地。这一切都是自动的,而ant需要自己定义了。这个好处导致的结果就是,用maven编译的项目在发布的时候只需要发布源码,小得很,而反之,ant的发布则要把所有的包一起发布,显然maven又胜了一筹。
第四:maven有大量的重用脚本可以利用,如生成网站,生成javadoc,sourcecode reference,等。而ant都需要自己去写。试试 maven site 的效果。
第五:maven目前不足的地方就是没有象ant那样成熟的GUI界面,不过mavengui正在努力中。目前使用maven最好的方法还是命令行,又快又方便。
MavenIDE网站提供了各种流行开发工具下相应的插件
Ant 点击次数:85
Ant是apache软件基金会jakarta项目中的一个子项目类似于linux下的Make,由于是基于 java编写的,因此具有很好的跨平台性。Ant由一些内置任务(task)和可选择的任务组成(还可以编写自己的任务),使用Make时,你需要写一个 Makefile文件,而用ant时则需要写一个build.xml文件。
Maven 点击次数:113
Apache Maven一个潜在的基于java的apache ant的构建工具的替代者。两者之间的比较:第一:ant脚本是可以直接运行在maven中的。maven和ant最大的差别就是在于maven的编译以及所有的脚本都有一个基础,就是POM (project object model)。这个模型定义了项目的方方面面,然后各式各样的脚本在这个模型上工作,而ant完全是自己定义,显然maven更胜一筹。
第二:Maven对所依赖的包有明确的定义,如使用那个包,版本是多少,一目了然。而ant则通常是简单的inclde 所有的jar。导致的最终结果就是,你根本无法确定JBoss中的lib下的common-logging 是哪个版本的,唯一的方法就是打开 META-INF 目录下MANIFEST.MF。估计JBoss迟早会转向Maven的。
第三:Maven是基于中央仓库的编译,即把编译所需要的资源放在一个中央仓库里,如jar,tld,pom,等。当编译的时候,maven会自动在仓库中找到相应的包,如果本地仓库没有,则从设定好的远程仓库中下载到本地。这一切都是自动的,而ant需要自己定义了。这个好处导致的结果就是,用maven编译的项目在发布的时候只需要发布源码,小得很,而反之,ant的发布则要把所有的包一起发布,显然maven又胜了一筹。
第四:maven有大量的重用脚本可以利用,如生成网站,生成javadoc,sourcecode reference,等。而ant都需要自己去写。试试 maven site 的效果。
第五:maven目前不足的地方就是没有象ant那样成熟的GUI界面,不过mavengui正在努力中。目前使用maven最好的方法还是命令行,又快又方便。
MavenIDE网站提供了各种流行开发工具下相应的插件
LuntBuild 点击次数:84
LuntBuild是一个强大自动构建的工具。通过一个简洁的web接口就可以很容易地进行系统的持续构建。在线演示Demo:http://luntbuild.ellisonbrookes.com/luntbuild-login.jsp 登录的用户名与密码都是demo。Invicta 点击次数:43
Invicta是一个开源的构建管理工具.它使用简单的项目定义文件,来生成强大的构建脚本(Apache ANT脚),从而隐藏他们的复杂性。CPMake 点击次数:42
CPMake是一个Java开发的类似于GNU make的构建工具可以用于C, C++, Java, C#, XSL ...等。它的构建文件用Java脚本语言(可以是BeanShell, Rhino, Jython and Groovy)来编写以便增加灵活性。因此用户可以根据自己的项目来定制make文件。Cruise Control 点击次数:94
CruiseControl是一个针对持续构建程序(项目持续集成)的框架,它包括一个email通知的插件,Ant和各种各样的CVS工具。CruiseControl提供了一个Web接口, 可随时查看当前的编译状况和历史状况Continuum 点击次数:74
Continuum可用于Java项目构建的持续集成,使用简单。它内置支持Maven 2,Maven 1, Ant和Shell Scripts.相关文章推荐
- 强大的管理构建工具之maven
- rebar构建工具
- Brunch:快捷的HTML5构建工具
- 基于Node.js的JavaScript项目构建工具gulp的使用教程
- 前端构建工具的用处
- 跨平台自动构建工具:xmake
- 重拾 Ant 自动构建工具
- maven1-项目构建和管理的工具
- “流式”前端构建工具——gulp.js 简介
- 前端构建工具 Gulp.js 上手实例
- gulp:更简单的自动化构建工具
- 前端构建工具Gulp使用总结
- WebKit之chrome的构建系统工具gyp(类比于qmake)
- gulp——用自动化构建工具增强你的工作流程
- 我喜欢简单:ant - java 构建工具
- 在github构建项目,使用git工具
- 自动化构建工具Gulp配置文件gulpfile.js
- 构建嵌入式Linux系统-开发工具
- h5学习笔记:使用fis的前端构建工具记录
- (3)构建工具之Maven和IDEA整合