赛迪网 > IT技术 今日更新 > 文章
  IT资讯搜索
 
IT产品搜索
[程序开发][网管世界][网络安全][数据库技术]
[操作系统][嘉宾聊天·在线访谈][活动集锦]
[精彩专题][Symantec专区][订阅IT技术周刊]
[开发论坛][网管论坛][安全论坛][数据库论坛]
[操作系统论坛][Sybase专区][IBM dW技术专区]
[病毒求助][病毒与漏洞播报][文档·源码下载]

如何驾驭 Eclipse 功能部件(二) (2)

发布时间:2003.12.12 17:53     来源:IBM DW    作者:Pat McCarthy 资深软件工程师

为了构建一个插件,您可能会指定 clean,build.sources,build.jars,zip.plugin,refresh。为了构建一个功能部件,您可能会指定clean,build.sources,build.jars,zip.distribution,refresh。您或许会想要在开始时使用 clean 来强制重新生成所有结果,经常会有这种情况。尽管 Ant 处理过程将基于输入的变化重新执行所需要的步骤,但是有一些变化不会触发所有需要的处理过程。测试结果表明如果您改变了一个 Java 源文件,相应的源文件压缩包将会更新,但是类不会被重新编译,运行期 JAR 也不会被更新。所以安全起见,建议您先将输出结果清空,以保证您在重新构建后所使用的是对应于当前源文件的运行期版本。

讨论方案

为了进行讨论,我们先描述一下只有一个功能部件和插件时在运行期配置中需要的内容。

正如您所看到的文件名,虽然这些文件大部分属于运行期环境,还是有一些文件不是您想要与其他人共享的(例如,您的设计文档)。

包含策略――指出所需要的部分

至少到刚开始时,最简单的方法是,在构建过程中将您要打包的部分作为在运行期配置中功能部件或插件的一部分而列出来。相应的 build.properties 文件分别如下所示:

排斥策略――指定不需要的或私有的部分

另一种方法是把您不想打包的部分在构建过程中作为功能部件或插件的一部分列出来。这不仅要包括您不想共享的文件,还要包括构建过程中创建的文件和目录(有一些是临时的)。这种方法用到的 build.properties 文件如下:

如果给定功能部件或插件的 id 值为 com.your.feature.id 或者 com.your.plugin.id,那么您在使用排斥策略的时候还需要在文件中包括以下条目:

com.your.feature.id_1.0.0.bin.dist.zip,\
com.your.feature.id_1.0.0.jar,\
com.your.plugin.id_1.0.0.jar,\

zip 条目将使生成的组件压缩包不被 update JAR 或者组件压缩包自己所包含。JAR 条目将使生成的功能部件或插件的 update JAR 不被组件压缩包或者 update JAR 自己所包含。当您的组件压缩包或者 update JAR 看起来比它应该的大小要大,或者在每次您进行编译时包的大小呈跳跃式增长,说明您应该执行以上步骤了。您需要在适当的功能部件或者插件的 build.properties 文件中加入以上条目来解决这个问题。

对文件或者结构变化的响应

除了以上提到的之外,当一个新的文件或目录添加到功能部件或者插件时,还有必需的响应需要考虑。我们的意思是您得让您的功能部件和插件能应付可能的改变,也就是说它们分别需要一个feature.properties文件和一个plugin.properties文件。当您用包含策略时,您需要给.properties 文件添加一个适当的属性,如果是使用排斥策略的话就不用这样做了。

不论哪种方法,如果您把一个文件添加到一个目录,那么不需要做任何其他的改动。对于新添加的文件,如果使用的是包含策略,它会被发送处理,如果使用的是排斥策略,它将不会被发送处理。这实际上是您可能应该要考虑使用不同的目录来存放不同的文件的原因。例如,您的插件所用到的所有图片所在的目录应该被包含在内,而一个开发过程中存放插件的设计讨论或文档的目录则不然。

最坏的情形是当您忘记对 build.properties 进行更新时:会发生运行期失败或生成内容存在差错的产品。如果您使用包含策略,新加入的文件或目录在打包后是不可用的,这有可能会导致您的插件不能用或者显示出 Eclipse 默认的图标(红盒子)。如果是使用排斥策略添加新文件或目录,这些文件或目录的内容在打包过程中会被包含进来。根据您的风格选择适当的方法,从而把您忘记执行更新时的风险降到最低。这将取决于您所面临的主要问题:是功能部件或插件不能运行,还是其他人本不应该看到运行期目录下的文件。

(责任编辑:战莹)

<<上一页 1 2


[ 发表评论 ] 字体[  ] [ 打印 ] [ 进入博客 ] [ 进入论坛 ]  [ 推荐给朋友 ]
  相关文章
· 如何驾驭 Eclipse 功能部件(一) (12-12) · 为您的Linux应用开发加油提速(四) (12-10)
· 如何用Linux打造因特网网关? (12-10) · Linux遭遇安全信任危机 形象毁于安全漏洞 (12-10)
· 分析SpenceMurray的开发技巧 (12-08) · Linux 2.6内核正紧张测试中 有望当月发布 (12-08)
· Sun退出IBM开源竞标 自行主攻NetBeans项目 (12-05) · 戴尔在华扩展业务 力推红旗版Linux服务器 (12-05)
· Gartner:Linux“敌人”是Unix 而不是微软 (12-05) · 为您的Linux应用开发加油提速(三) (12-03)
  客户需求反馈表
* 姓  名:
更多资料  了解方案  认识厂商
* 单位名称:
* 联系电话:
* 电子邮件:
  赛迪推荐  
  手机·资费 ·新品·导购·评测·手机资费·宽带
手机搜索  诺基亚 N73 MOTO Z6
  IT产品 ·笔记本·台式机·服务器·打印·投影
IT产品搜索 
  IT技术 ·开发·网管·安全·数据库·操作系统
  信息化 ·热点·专题·访谈·周刊·方案案例
[政务][电信][金融][农业][制造业][中小企业]
[CIO][ERP][协同][IT管理][中间件][电子商务]
[政策][地方][专家][评估][辞典][博客][社区]
· 专题:一路畅通构想曲——让出行不再遭遇堵车
· CIO工作亲历:企业ERP选型不能忽视"选人关"
· 综述:信息化建设给中国监狱带来的各种变化
· 金融业风险管理和法规遵从有五点需考虑的因素
· 保险业CIO关注:该如何建立统一高效的CRM体系
· 调查显示:多数CIO对IT规划仍存在困惑和误解
  博客·论坛 ·曾剑秋·项立刚·Java学习·网管