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
这些工具用起来都特别简单,相关界面截图例如以下:

ant打包和jar包混淆的更多相关文章

  1. 使用ANT将Android打包成Jar包

    本文主要实现使用ANT,将Android项目打包成jar,为方便其他项目使用. ANT可以去官网下载(http://ant.apache.org/) 先介绍打包的步骤,打包脚本下方贴出 步骤: 1,将 ...

  2. 【Android端】代码打包成jar包/aar形式

    Android端代码打包成jar包和aar形式: 首先,jar包的形式和aar形式有什么区别? 1.打包之后生成的文件地址: *.jar:库/build/intermediates/bundles/d ...

  3. [Java] Java 打包成jar包 和 解压jar包

    解压jar包 jar xf xxx.jar 打包成jar包 方法一:通过jar命令 jar命令的用法: 下面是jar命令的帮助说明: 用法:jar {ctxui}[vfm0Me] [jar-file] ...

  4. [JAR包] android引入JAR包,打包成JAR包,打包成Library项目,导入Library项目

    (1)项目导入JAR包:1.在项目目录里建立一个libs目录,将外部jar包拷贝在里面.2.右键点击项目,Bulid Path->Configure Build Path3.在设置Libraie ...

  5. 【spring boot】idea下springboot打包成jar包和war包,并且可以在外部tomcat下运行访问到(转)

    转自:https://www.cnblogs.com/sxdcgaq8080/p/7727249.html   接着上一章走呗:http://www.cnblogs.com/sxdcgaq8080/p ...

  6. 如何打包/运行jar包,及生成exe文件

    关于如何打包/运行jar包,以及生成exe文件.之前各种查询.博客,终于搞明白究竟是咋回事.记得还做过笔记的.今天要打包生成exe用的时候,居然忘了咋怎来着.去查看之前的笔记,死活没找到(好像被删掉了 ...

  7. Android studio 将 Module 打包成 Jar 包

    整理记录 AndroidStudio 把一个 module 项目打包成 jar 包. 一.默认自动生成的 jar 包 众所周知 android studio 会在library所依赖的 app运行 或 ...

  8. springboot打包成jar包后找不到xml,找不到主类的解决方法

    springboot打包成jar包后找不到xml,找不到主类的解决方法 请首先保证你的项目能正常运行(即不打包的时候运行无误),我们在打包时经常遇到如下问题: springboot打包成jar包后找不 ...

  9. 【spring cloud】【IDEA】【Maven】spring cloud多模块打包,打包的jar包只有几k,jar包无法运行,运行报错:no main manifest attribute, in /ms-eureka.jar

    ======================================================================================== 引申:maven打包多 ...

随机推荐

  1. 使用fatjar来实现将包括第三方jar包的项目到处成一个jar包供其它程序使用

    一.在线安装fat jar 在线安装步骤: eclipse菜单条 help >software updates >Search for new features to install> ...

  2. 前端 自定义format函数

    为字符串创建format方法,用于字符串格式化  {# 前端没有字符串占位符%s的替代方法,以下是自定义字符串替换的方法,以后前端拓展方法都可以使用下面的形式 #} String.prototype. ...

  3. 开发效率必备之Mac双屏显示

    自从2015年9月苹果公布EI Captain,带来了一个新的功能,叫做分屏,也就是在一块屏幕上分成左右两部分,能够分别进行操作,互不影响. 例如以下图所看到的: watermark/2/text/a ...

  4. poj--1236--Network of Schools(scc+缩点)

    Network of Schools Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 14062   Accepted: 56 ...

  5. 杂项:MSP(管理服务提供商)

    ylbtech-杂项:MSP(管理服务提供商) 随着外包市场的日益成熟,为了满足企业的需求,一个全新的业务方向被开发出来—MSP.MSP采用业界领先的系统管理技术,由经验丰富的系统管理专家通过WAN为 ...

  6. WCF:目录

    ylbtech-WCF:目录 1.返回顶部   2.返回顶部   3.返回顶部   4.返回顶部   5.返回顶部     6.返回顶部   作者:ylbtech出处:http://ylbtech.c ...

  7. Oracle 查看锁定表用户的SQL

    #描述:当执行如下SQL select * From XXX for Updata 发现表“XXX”被锁定 #只需要执行如下SQL 查看锁定该表的用户 SELECT object_name, mach ...

  8. c++面向对象程序设计 谭浩强 第一章答案

    c++面向对象程序设计 谭浩强 答案 第一章 目录: c++面向对象程序设计 谭浩强 答案 第一章 c++面向对象程序设计 谭浩强 答案 第二章 c++面向对象程序设计 谭浩强 答案 第三章 c++面 ...

  9. QT-helloworld-QtCreater编写

    前言:纯代码编写helloworld,解析代码含义. 一.新建空项目 新建->其他项目->Empty qmake Project 二.修改.pro文件 打开helloworld.pro文件 ...

  10. tomcat指定JDK版本

    在windows环境下以批处理文件方式启动tomcat,只要运行<CATALINA_HOME>/bin/startup.bat这个文件,就可以启动Tomcat. 在启动时,startup. ...