Ant搞定全部开发流程 (包括编译、打包,签名,制作安装文件,生成帮助文档全部搞定)

由于涉及到打包签名,所以在开始全部工作之前,我们先做好签名的准备工作。 那就是建立密钥库(keystore)。只有建立好了密码库,才能在签名工具中顺利地实现签名。    这里建立密钥库要用到j2SDK提供的工具keytool,我们通过命令行来运行就行了。关于这个工具的详细用法请见j2SDK官方文档的%JAVA_DOC%/tooldocs/windows/keytool.html目录下。 keytool -genkey -dname "cn=Wuxing, ou=Gdyj, o=Geoway, c=CN"   -alias geoway -keypass geoway -keystore d:/keystore   -sto repass geoway 这个命令在D盘根目录下创建了一个名为keystore的密钥库文件。密码是geoway,它为“通用名为Wuxing,组织部门为Gdyj,组织为Geoway,国家代码为CN”实体生成了一个公有/私有的密钥对。它用默认的“DSA”密钥产生算法来创建密码,达1024位长。 注意:为了顺利地调用上述命令,请将%JAVA_HOME%/bin目录加入你的系统环境变量path中。 说明:下面的ANT配置文件build.xml中,出现中文的地方,请根据实际情况进行修改。 下面正式开始我们的ANT配置。 <!—建立工程名为Client,默认的任务是compile --> <project name="Client" default="compile" basedir="."> <!— 设置全局属性 --> <property name="src"           value="源代目录"/> <property name="classes"         value="类目录"/> <property name="docs"         value="API文档目录"/>    <property name="version"         value="版本号"/> <property name="lib" value="编译时要调用的库目录"/> <property name="clientjar"         value="打包目录"/>    <property name="profile"      value="proguard配置文件路径"/>    <property name="proguardhome" value=" proguard3.0.7目录"/> <!— 为了更进一步体现Ant强大的功能,我们把签名过程写在批处理文件中,供ANT调用. 签名代码如下: jarsigner -keystore d:/keystore -storepass geoway -keypass geoway -signedjar Client.jar Client_1.jar geoway 注意:得先定位目录到签名包所在目录 -->    <property name="sign" value="签名批处理文件路径"/>    <property name="IALOC" value="InstallAnywhere安装目录"/>    <property name="INSTALLLOC"         value=" IA配置文件路径"/>       <!— 任务1:清空 --> <target name="clean"> <delete failοnerrοr="false" includeemptydirs="true">       <fileset dir="${classes}"/>    </delete> <delete failοnerrοr="false" includeemptydirs="true">         <fileset dir="${clientjar}/com"/>       </delete>    <mkdir dir="${classes}" /> </target> <!— 任务2:编译 --> <target name="compile">     <javac srcdir="${src}" destdir="${classes}" debug="true"            optimize="false" deprecation="true">       <classpath>    <fileset dir="${lib}">      <include name="**/*.jar"/>    </fileset>       </classpath>              </javac>    <copy todir="${classes}">       <fileset dir="${src}">       <include name="**/*.properties"/>       <include name="**/*.xml"/>       <include name="**/*.gif"/>       <include name="**/*.png"/>      </fileset>    </copy> <!— 任务3:将文件全局复制到打包目录 --> <copy todir="${clientjar}">         <fileset dir="${classes}">               <include name="**/*.*"/>         </fileset>      </copy> </target>    <!—任务4: 调用签名批处理文件 --> <target name="run">    <exec executable="${sign}">    </exec>    </target>    <!—任务5: 混淆 注意:要先安装Proguard,并用图形界面做好配置文件,本文附录提供了简单介绍和下载地址。 --> <target name="obfuscate">      <taskdef resource="proguard/ant/task.properties"               classpath="${proguardhome}/lib/proguard.jar" />      <proguard configuration="${profile}" />       <!— 混淆完成之后要进行签名 -->       <exec executable="${sign}">       </exec> </target> <!—任务6: 用InstallAnywhere构造安装包 注意:要先安装InstallAnywhere,并用其做好配置文件。 -->     <target name="buildInstaller">     <taskdef name="buildinstaller" classname="com.zerog.ia.integration.ant.InstallAnywhereAntTask"/>    <buildfullinstaller    IAlocation="${IALOC}"    IAProjectFile="${INSTALLLOC}"    BuildWindowsWithVM="true"       OptimizeWebInstaller="true"    InstallerStdErrRedirect="C:/console.txt"    />         </target>    <!—任务7: 利用Javadoc工具生成API文档 -->    <target name="docs" depends="compile">              <delete>            <fileset dir="${docs}/api" includes="**/*.*" />         </delete>            <javadoc packagenames="生成的API文档要用的源代码包名"               sourcepath="${src}"               destdir="${docs}/api"               author="true"               version="true"               use="true"               windowtitle="Geoway Client API version ${version}">            <doctitle>文档头内容,可用HTML代码</doctitle>            <bottom>文档底部内容,可用HTML代码</bottom>            <classpath>               <fileset dir="${lib}">                  <include name="**/*.jar"/>               </fileset>               <pathelement location="${classes}"/>            </classpath>         </javadoc>       </target> </project> 附录:Proguard简介绍及下载 ProGuard是一个开源的混淆和优化工具,不但能在类内部的代码段内部对代码进行混淆,更能将类名、各种类型方法、变量进行混淆(其实如果建立的代码包不要作为库在外部调用的话,其实进行全混淆是一种很不错的选择)。 下载地址为: http://easynews.dl.sourceforge.net/sourceforge/proguard/proguard3.0.7.zip 摘录自:http://wuxingblog.bokee.com/1857744.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值