快速业务通道

使用 IBM 静态工具优化 Java 代码,第 1 部分: 工具入门 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17

因为 bin 目录下的 beam_configure 是针对 Linux 和 AIX 平台的,所以临时目录是 /tmp,而 Windows 平台的临时目录是 c:/temp,所以需要修改临时目录。

下载并安装 Ant

这个工具支持 Ant 运行,可以把其当作 Ant 的一个任务来执行。本文假设您把 Ant 安 装到 C:\apache-ant-1.7.0 下。

创建支持 BEAM 的 build.xml 文件

在 Java 源文件的根目录下为 Ant 创建 build.xml。

1. 指定 XML 版本

所有的 XML 文件的第一行都必须是一个 XML 声明,指定将要使用的 XML 版本,本文使 用 XML 1.0 版本。如清单 6

清单 6. 指定 XML 版本

<?xml version="1.0"?>

2. 指定根目录

定义属性 beam.install,指定根目录,如清单 7 。通常,beam_compile 程序应该位于 ${beam.install}/bin 下。

清单 7. 指定根目录

<property name="beam.install" value="C:\BEAM -3.4.2"/>

使用 IBM 静态工具优化 Java 代码,第 1 部分: 工具入门(5)

时间:2011-05-07 IBM 丁钦浩

3. 指定任务名

因为要将其作为 Ant 的一个任务来运行,所以接下来需要指定任务 taskdef,只有定义 过 taskdef,才可以在运行 Ant 时通过指定任务名来运行指定的任务。

清单 8. 指定任务名

<taskdef name="beam"     classname="com.ibm.beam.ant.BeamTask"     classpath="${beam.install}/jar/ant-beam.jar" />

taskdef name="beam":指定任务名为 beam,接下来 Ant 运行时可以通过指定 beam 来 运行指定的任务。

classname="com.ibm.beam.ant.BeamTask":指定接下来要执行 beam 任务类的全限定名 ,告诉 Ant 运行 beam 任务要装载哪一个类。

classpath="${beam.install}/jar/ant-beam.jar":指定 classpath,供寻找 classname 时使用。

4. 指定 Java 源代码路径

清单 9. 指定 Java 源代码路径

<property name="code.dir"  value="./java"/>

指定 code.dir 属性,表明当前路径的 java 子目录下存放的所有 Java 源文件代码都 需要这个工具进行分析。

5. 指定输出结果路径

清单 10. 指定输出结果路径

<property name="beam.classes"  value="./class/beam"/>

如清单 10 所示,beam.classes 存放分析输出结果(如:BEAM-messages 文件)。

6. 定义 path

BEAM 需要 javac 编译代码时使用的 classpath,目的是检查源代码所调用的类库文件 是否在 classpath 内。这里定义具有 id 属性的 path 元素,供接下来其 运行时指定 classpath 用。

清单 11. 定义 path

<path id="classpath">   <fileset dir="./lib">   <include name="**/*.jar"/>   </fileset>   </path>

如清单 11 所示,path 包括当前路径下 lib 子目录下的所有 jar 包文件。

使用 IBM 静态工具优化 Java 代码,第 1 部分: 工具入门(6)

时间:2011-05-07 IBM 丁钦浩

7. 定义 prepare 任务

在运行这个工具前,需要创建输出结果目录,为接下来的运行做准备。创建目录的动作 必须在一个任务中完成,所以这里定义 prepare 任务以达到此目的。

清单 12. 定义 prepare 任务

<target name="prepare">   <mkdir dir="${beam.classes}"/>   </target>

在 Ant 的元素中,标签 target 专门用来定义新任务,定义的新任务 prepare 的内容 是创建属性 beam.classes 的值所代表的目录,即输出结果目录。

8. 定义任务

前面已经通过 taskdef 指定了任务名为 beam,接下来定义任务的具体内容。

清单 13. 定义任务

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号