史荣久

史荣久的博客

他的个人主页  他的博客

IVY+IVYDE 非经典实践

史荣久  2010年06月07日 星期一 22:09 | 3033次浏览 | 1条评论

 

IVY+IVYDE 非经典实践
作者:臭豆腐[trydofor.com]
日期:2010-06-07
授权:署名-非商业-保持一致 1.0 协议
声明:拷贝、分发、呈现和表演本作品,请保留以上全部信息。

文档目录
1. 在我和你间填个字
肉麻的开始,很自然会填V,于是就有了IVY了。
话说这一日,豆腐心血来潮,要写一个程序,要求是这样的:
  • 在两个数据库之间倒动数据。
  • 可以定制,灵活的,易懂的。
  • 表间有依赖,有自增型主键。
  • 简单简洁,全JDBC,全SQL。

不想让日本人知道,进而不想让印度人知道,于是建了个模块。
credit_tea,希望这个模块内的东东可以象茶一样清爽。

自然想到了Maven2,但这家伙始终让我望而止步,没大规模使用过。
又自然的想起了IVY,因为大家对ANT熟,Spring也用它们。

2. 爱是这么炼成地
最新ivy-2.1.0.jar,放到 ant1.7.0/lib下 (注意Spring编译时不这么放)。
最新ivyde-2.0.0 安装到非eclipse目录,如,D:/software/eclipse_plugins/

先说这个ivyde,在设置properties和setting时,很缺心眼。
  • enable project specific settings时,必须 setting和properties全指定。
  • 俺不想动Ivy的默认设置,只想和ant一样修改个properties而已,但不行。

在这种情况下,为了使eclipse正常开发,采用了曲道救国的策略。
  • 把public中用的lib,放到shared中。
  • 把内部生产的lib,放到local中。
  • ant和ivyde都是用默认 cache,但由ant初始化。

于是eclipse package视图结构如下:
< txt > eclipse package 
        Credit_Tea、
|-- cn.edgesoft.credit.database.datasync
|--|-- src/  # 主源代码
|--|-- test/ # Junit源代码
|--|-- JRE System Library [j2re1.4.2_13]
|--|-- build/ivy.xml[*]
|--|-- build/
|--|--|-- build.properties
|--|--|-- build.xml
|--|--|-- ivy.xml
|--|--|-- ivysettings.properties
... ... ...
|-- cn.edgesoft.credit.librepo
|--|-- ivyrepo/ # ivy 仓库
|--|--|-- local/
|--|--|-- shared/
|--|-- scripts/ # 构建仓库的脚本
|--|--|-- ant-default-setting.properties
|--|--|-- ant-ivr-publish-jars.properties
|--|--|-- ant-ivr-publish-jars.xml
|--|--|-- ivy.xml
|--|--|-- ivysettings.properties
       

3. 我爱你,就像蚂蚁爱日食
脚本打包备查,十分简陋,能运行,仅供参考。

话说,俺十分希望 ivyde能像ant一样的确定 properties 和工作。
在 ant 制作release文件的时候,发送了一些插曲。

首先,是 ivy管理的依赖 如何进 release/lib/。步骤如下:
  1. ivy:cachefileset
  2. copy todir="${dir.release.lib}" flatten="true"

然后,是如何进MANIFEST.MF文件。步骤如下:
  1. pathconvert 转换相对路径和 dirsep "/"
  2. 了解 MANIFEST.MF 定义中的换行规则。

最后,是IVY的conf规则,这个是没认真看手册,卡在了dom4j的依赖上。
dom4j的ivy.xml中conf有10个。默认全引入过来,一堆jar。
在细读手册之后,增加了conf="*->master"。

这么折腾的好处是,lib管理都给IVY了,工程清楚。发布的时候ant给收集过来。
略带点遗憾,就是这次依旧用了jdk1.4,没有泛型,集合类操作起来很晕乎。

 

评论

我的评论:

发表评论

请 登录 后发表评论。还没有在Zeuux哲思注册吗?现在 注册 !
达伦王

回复 达伦王  2010年06月08日 星期二 19:43

Maven2适应了之后实际上很舒服,呵呵, 也不算太重

0条回复

暂时没有评论

Zeuux © 2024

京ICP备05028076号