Ant能干什么,编译?打包!
Ant轻便,灵巧,不像Maven一般沉重。
但是,这是我之前的看法。之前一直使用Eclipse自带的编译工具进行编译,然后采用ant进行打包;但是Eclipse编译工具编译之后的jar包参数名称之类的都丢失了,变成了arg0,arg1这种;对于引用方而言十分不友好(当然可以导出javadoc,但是那不是费二遍事嘛),最近获知可以通过采用javac进行编译,指定-g:vars,即可保证编译之后参数名称保留。
于是尝试着将javac加入到Ant文件中,其实直到此时我才知道eclipse是自带编译器的,因为网上有帖子讲述分析eclipse的编译器的class文件和javac编译文件不同,细节没看,确定一点,这两者应该不是一回事。但是我添加了javac之后,运行builder.xml发现报错,告知slf4.jar没有。
直到此时我才清晰的了解到:我们采用Eclipse那套机制,包括工程引用,jar包引用以及Eclipse自带的编译器,这些是成套的东东,如果你想要使用Ant来进行编译,那么需要你将所有的引用关系,以及引用jar包关系,全部配置到Ant配置文件里面,这样Eclipse退化为了一个代码结构管理(当然还包括JIT编译找错)的小工具。
如果这样我还是使用Eclipse来进行管理和编译吧,采用Ant编译成本太高了,他还是做做打包这件事我觉得是最好的。
声明变量
<project>
<property name="dir.buildfile" value="."/>
<property name="dir.workspace" value="${dir.buildfile}/.."/>
<property name="dir.jarfile" value="D:/tmp/setup"/>
"."代表(Eclipse)工程根目录
复制文件夹
<copy todir="${dir.jarfile}">
<fileset dir="${dir.buildfile}">
<include name="install/"/>
<include name="install_monitor/"/>
<include name="scripts/"/>
</fileset>
</copy>
这里注意install/代表把文件夹以及文件夹里面的东西都拷贝过去;install则代表只是拷贝空文件夹;如果没有include节点,代表把${dir.buildfile}所有的文件拷贝到todir下面。
Ant能干什么,编译?打包!的更多相关文章
- Ant自己主动编译打包&公布 android项目
Eclipse用起来尽管方便,可是编译打包android项目还是比較慢,尤其将应用打包公布到各个渠道时,用Eclipse手动打包各种渠道包就有点不切实际了,这时候我们用到Ant帮我们自己主动编译打包了 ...
- Ant自动编译打包&发布 android项目
Eclipse用起来虽然方便,但是编译打包android项目还是比较慢,尤其将应用打包发布到各个渠道时,用Eclipse手动打包各种渠道包就有点不切实际了,这时候我们用到Ant帮我们自动编译打包了. ...
- 通过ant脚本编译打包android工程
通过ant脚本,编译打包android工程 1.Android程序编译.打包.签名.发布的三种方式: 方式一:命令行手动编译打包 方式二:使用ant自动编译打包 方式三:使用eclipse+AD ...
- Android - Ant自动编译打包android项目 -- 1(转)
1. 背景: Eclipse用起来虽然方便,但是编译打包android项目还是比较慢,尤其当要将应用打包发布到各个渠道时,用Eclipse手动打包各种渠道包就有点不切实际了,这时候我们用到Ant帮我 ...
- Andorid进阶7—— Ant自动编译打包&发布 android项目
http://www.cnblogs.com/tt_mc/p/3891546.html Eclipse用起来虽然方便,但是编译打包android项目还是比较慢,尤其将应用打包发布到各个渠道时,用Ecl ...
- Ant自动编译打包android项目(转载)
1.1 Ant安装 ant的安装比较简单,下载ant压缩包 http://ant.apache.org (最新的为1.9.3版本),下载之后将其解压到某个目录(本人解压到E:\Progra ...
- (转载)Ant自动编译打包android项目
1 Ant自动编译打包android项目 1.1 Ant安装 ant的安装比较简单,下载ant压缩包 http://ant.apache.org (最新的为1.9.3版本),下载之后将其解压 ...
- ant自动编译打包android项目
源代码及可执行文件下载地址:http://files.cnblogs.com/rainboy2010/antdemo.zip Android打包APK的流程如下: 下面我们开始尝试使用ant进行ap ...
- java ant 编译打包build.xml完整配置范例
java ant 编译打包build.xml完整配置范例 <?xml version="1.0" encoding="UTF-8" ?> <p ...
随机推荐
- rsh命令配置于使用
安装环境:一台centos6.10虚拟机,一台centos7.5虚拟机,全部使用root用户登录. 两台机器上都要安装rsh.rsh-server.xinetd包. 两台机器都要关闭防火墙并配置/et ...
- Linux 基础一---操作系统&常用命令
UNIX是一个计算机操作系统,一个用来协调.管理和控制计算机硬件和软件资源的控制程序. 1.UNIX操作系统的特点:多用户和多任务: a) 多用户表示在同一时刻可以有多个用户同时使用UNIX操作系统而 ...
- python补充知识点
1. 在python2中用xrange,在python3中直接使用range就好了 2. 常数 None在逻辑判断的时候指代False,其他方式不代表True或者False 3. for循环只作用域容 ...
- Go Interface概念
简单地说 Interface是一组Method的组合,可以通过Interface来定义对象的一组行为.如果某个对象实现了某个接口的所有方法,就表示它实现了该借口,无需显式地在该类型上添加接口说明.In ...
- Oracle、Mysql、SqlServer创建表和给表和字段加注释
一.Oracle --创建表 create table test ( id varchar2(200) primary key not null, sort number, ...
- HDU 汉诺塔系列
做了这一系列题,表示对汉诺塔与这一系列递推理解加深了 经典汉诺塔:1,2,...,n表示n个盘子,数字大盘子就大,n个盘子放在第1根柱子上,按照从上到下 从小到大的顺序排放,过程中每次大盘都不能放在小 ...
- script标签加载js代码的一些知识
1.script加载js代码是并行加载,顺序执行的,并且在加载和执行js时会阻塞浏览器渲染引擎, 2.defer和async属性添加过后,js的下载和执行就不会阻塞浏览器的渲染引擎了 3.defer会 ...
- Spring初学之annotation实现AOP前置通知和后置通知
实现两个整数的加减乘除,并在每个计算前后打印出日志. ArithmeticCalculator.java: package spring.aop.impl; public interface Arit ...
- 安装Linux应该知道的十件事
硬件,软件及其之间的一切 Linux机器的硬件和软件之间一切都由内核主宰. 内核负责硬件和软件的连接,每隔几个礼拜就可以在Internet上获取 更新的内核: 如果你自己安装内核并非易事,这时,就轮到 ...
- open inventor 学习笔记
初次接触open inventor,跟以前学习一种新的东西,都想要先做出个小的helloworld程序,这个当然也不例外. 首先会创建一个窗口句柄,初始化一下场景数据库. HWND window = ...