Ant是一种基于Java的build工具。相似于c语言中的makefile,这里做一记录。方便后面查看。

<?xml version="1.0" encoding="UTF-8"?>
<project name="vailidategame" default="yguard" basedir=".">
<property name="src" value="${basedir}/src" />
<property name="lib" value="${basedir}/lib" />
<property name="build" value="${basedir}/build" />
<property name="build.class" value="${build}/classes" />
<property name="app.name" value="FrameWork" />
<property name="app.jar" value="${app.name}.jar" />
<property name="obfuscationlog" value="${build}"/>
<property name="obf.jar" value="${app.name}_obf.jar" />
<property name="obfjarpath" value="${basedir}/lib"/>
<property name="shrinklog" value="${project_name}_shrinklog.xml"/>
<property name="renamelog" value="${project_name}_renamelog.xml"/>
<!--请将以下的路径改为你本地的路径-->
<property name="webserver" value="D:\build-tomcat\webapps" /> <!--定义CLASSPACH,编译时用到你外部增加的包-->
<!-- <path id="classpath">
<pathelement location="${src}" />
<fileset dir="${lib}" includes="***.jar" />
</path> --> <!--删除任务-->
<target name="clean" description="删除">
<echo message="删除文件夹" />
<delete dir="${build}" />
</target> <!--创建一个暂时文件夹-->
<target name="init" description="创建文件夹" depends="clean">
<echo message="创建文件夹--以运行" />
<mkdir dir="${build.class}" />
</target> <!-- 编译 -->
<target name="compile" description="開始编译" depends="init">
<echo message="生成jar開始……" />
<javac srcdir="src" destdir="${build.class}">
<!-- <classpath>
<fileset dir="lib">
<include name="**/*.jar"/>
</fileset>
</classpath> -->
</javac>
</target>
<!-- 打成jar包 -->
<target name="generjar" description="打包" depends="compile">
<echo message="打成jar包"/>
<jar jarfile="${build}/${app.jar}" basedir="${build.class}">
<!-- <manifest>
<attribute name="Main-Class" value="bean.ant.TestAnt" />
</manifest> -->
</jar>
</target> <!-- 混淆任务 -->
<!-- <target name="yguard" depends="generjar">
<echo message="開始混淆"/>
<taskdef name="yguard" classname="com.yworks.yguard.YGuardTask" classpath="yguard.jar" />
<echo message="产生混淆文件"/>
<yguard>
<inoutpair in="${build}/${app.jar}" out="${build}/${obf.jar}"/>
</yguard>
</target> --> <target depends="generjar" name="yguard">
<taskdef name="yguard" classname="com.yworks.yguard.YGuardTask"
classpath="yguard.jar"/>
<!-- the following can be adjusted to your needs -->
<yguard>
<inoutpair in="${build}/${app.jar}" out="${build}/${obf.jar}"/>
<shrink logfile="${shrinklog}">
<keep>
<class classes="protected"
methods="protected" fields="protected">
<patternset>
<include name="com.subao.validate.**.*"/>
<!-- <exclude name="com.subao.validate.http.**.*"/> -->
</patternset>
</class>
</keep>
</shrink>
<rename logfile="${renamelog}">
<property name="error-checking" value="pedantic"/>
<keep>
<class classes="protected"
methods="protected" fields="protected">
<patternset>
<include name="com.subao.validate.**.*"/>
<!-- <exclude name="com.subao.validate.http.**.*"/> -->
<exclude name="com.subao.validate.entity.**.*"/>
</patternset>
</class>
</keep>
</rename>
</yguard>
</target>
</project>

大概解释一下:

1、上面project标签中的default代表默认运行的入口, basedir代表基准路径。

2、property标签定义变量。

3、target标签中就各自是对应的操作。

相关资源:

yguard混淆:http://download.csdn.net/detail/lxq_xsyu/8149559

jar包混淆工具:http://download.csdn.net/detail/lxq_xsyu/8149539

jar包反编译工具:http://download.csdn.net/detail/lxq_xsyu/8149513
这些工具用起来都特别简单,相关界面截图例如以下:

最新文章

  1. 微软发布 Windows Server 2016 预览版第三版,开发者要重点关注Nano Server
  2. 轻松进行iPad Safari设置
  3. delphi SPCOMM串口控件
  4. 网页颜色分辨测试小游戏的js化辨别及优化
  5. 浅谈我的编程之路——感谢引领我的leader
  6. 谈谈网站插入youtube视频播放
  7. 【ZOJ】3329 One Person Game
  8. 黄聪:NaviCat通过Http方式连接服务器的MySQL数据库(转)
  9. 【JavsScript】JavaScript MVC 框架技术选型
  10. close和shutdown函数的区别
  11. nginx 代理概念理解
  12. css基本框架
  13. Eclipse的安装及汉化图解
  14. javascript基础 之 表单
  15. 平安技术开放日质量保证技术专场第一期 [附部分 ppt]
  16. js的执行环境学习笔记
  17. 详解HTTP协议
  18. 特征选择 - Filter、Wrapper、Embedded
  19. 【Linux】SVN的安装和配置
  20. Python 使用 Redis 操作

热门文章

  1. (十进制高速幂+矩阵优化)BZOJ 3240 3240: [Noi2013]矩阵游戏
  2. HIbernate中openSession和getCurrentSession
  3. 多线程编程TSL相关的技术文档
  4. [yueqian_scut]Android多点触控技术和应用框架
  5. Javascript中的with用法
  6. 这里是指推送通知跟NSNotification有区别:
  7. ThinkPHP5+Redis单例型购物车
  8. Java io 操作
  9. Activity全屏沉浸状态
  10. 火狐浏览器下载文件中文乱码,文件名中的空格变加号(&quot;+&quot;)的问题