使用Raven取代Ant来Build Java项目

由别的网站发现一个信息,怕丢了,留作mark吧:http://www.iteye.com/news/3514

Ant作为常用Java项目build工具经常受到争议,很多其他的支持XML所缺乏的更多的表达范式的build工具进入开发者的视野。自动化专家Paul Duvall同学推荐了使用Raven(乌鸦)来Build Java项目,Raven是一个由Ruby写的build平台,采用简单的build-centric Domain Specific Language(中心build领域特定语言DSL)提供所有编程语言的强大功能。Raven License : Apache v2.0。如果对Ruby有兴趣同时又希望智能化build java项目,可以看看Raven。 


Paul写到:

我有一个现存的java项目,多年来我一直小心的维护它的ant build脚本,但是我发现ant的XML语法繁琐而且有很多限制,有时我不得不使用Groovy来写一些客户任务或者嵌入逻辑进入Ant的脚本,我渴望一种更高级别提供更大灵活性的build工具。

他的文章讨论了一些常用的Java任务,比如javac,javadoc,war,和junit。Raven替换了基于XML build系统,提供了Ruby以及客户DSLs的表达式,对于build java项目具有更强大的易用性和灵活性。

Raven的平台架构和逻辑:

 

比如对于这样一个java项目:



使用Raven创建classpath:

Ruby代码 复制代码
  1. require 'raven'  
  2. require 'rake'  
  3.   
  4. dependency 'deps' do | task |   
  5.   task.libs = Dir.glob('lib/**/*.*')     
  6. end   
require 'raven'
require 'rake'

dependency 'deps' do | task |
  task.libs = Dir.glob('lib/**/*.*')  
end 


使用Raven来编译:

Ruby代码 复制代码
  1. javac 'compile' => 'deps' do |task|   
  2.   task.build_path << "src"  
  3. end  
javac 'compile' => 'deps' do |task|
  task.build_path << "src"
end


创建 WAR 文件来部署 Web 容器:

Ruby代码 复制代码
  1. war 'brewery.war' => ['clean''compile''java-doc'do |task|   
  2.   task.webapp_dir = 'src/web'  
  3. end  
war 'brewery.war' => ['clean', 'compile', 'java-doc'] do |task|
  task.webapp_dir = 'src/web'
end


简单吧? 访问Raven主页: http://raven.rubyforge.org/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值