注意:
用Ant构建时,build path只能是单级的,如默认的src,如果是类似basePath/jsr253这样的话,运行Ant build时会报错,说找不到jsr253。
(此文讲述的是以ant1.7.1为例子的,在windows上的eclipse进行操作的例子)

生成Ant的方法有多种,下面介绍其中较为省力的一种方式(eclipse中使用ant)
1、 生成build.xml
右击工程名——> Export ——> General ——> Ant Buildfiles ——> Next ——> Finish,
可以看到在工程的根目录下多了一个build.xml文件,文件上有一只蚂蚁的图标,此文件已经根据你的工程结构自动生成了相应的XML脚本,但目前只包含了编译的功能。

2、添加生成jar的功能
双击打开build.xml,在<project></project>标签内添加如下一个新的<target>标签
<target name="jar" depends="build">
<delete file="E:/test.jar" />
<jar jarfile="E:/test.jar">
  <fileset dir="bin" includes="**/*.*" />
</jar>
</target>
注解:
name:为target添加一个名字,可任意取名。
depends: 所依赖的target的名字,因为编译后才能生成jar包,故示例中的build是编
译功能的target的名字。
delete:删除,后面的file的值是所需要删除的文件的具体路径。
Jar:生成jar包,jarfile是用来指定生成后的jar包的路径;fileset指定生成jar包所需
包含的类文件,dir指定类文件的目录,includes指定包含的具体文件。

测试功能是否实现:
修改<project>标签中的default属性,将其值改为“jar”,即上述<target>标签中name属性的值,保存。右击build.xml,Run As ——> Ant Build。查看控制台输出是否最后提示BUILD SECCESSFULL,jarfile指定的路径下是否生成了test.jar,如果是有,则表明成功了。以下的功能都可以通过类似的方法去验证。

3、 添加生成lar包的功能/执行某一应用
双击打开build.xml,在<project></project>标签内添加如下一个新的<target>标签
<target name="lar" depends="jar">
<delete file="E:/test.lar"/>
<exec executable="E:/largen">
<arg value="E:/test.jar"/>
</exec>
</target>
注解:
exec:执行某一应用。executable的值是所需启动的应用的具体路径。Arg中传入的是需要生成lar包的jar包的路径。

4、 添加用SSH将文件拷贝到远程服务器上的功能
双击打开build.xml,在<project></project>标签内添加如下一个新的<target>标签
<target name="scp" depends="lar" description="copy to remote server">
<scp file="E:/test.lar"  trust="true"
todir="tester@10.36.145.17:/home/tester"
password="xxxxx">
</scp>
</target>
注解:
Description:对target的描述,相当于注释的作用。
Scp:将本地的文件同步更新到远程的服务器上;file是文件在本地的路径;todir是传输到远程的服务器的地址,包括用户名、IP、远程服务器的中的具体位置;password是访问远程服务器时的密码。trust属性必须设置为true,表示可信任的,默认为false的话可能会抛错。

此功能与前两个功能相比会麻烦些,还需要进行如下一些操作:
1) 下载jsch.jar,放到ant目录的lib文件夹下,然后在Eclipse中点击Window ——> Preferences ——> Ant ——> Runtime ——> Classpath,在Ant Home Entries(Default)中把jsch.jar添加进去。Jsch.jar存在版本匹配的问题,所以如果在下载时选用的版本不对,就算添加进去了,到时运行时也会报错的。
2) (若你使用的是虚拟机版的linux可能需执行此步骤)启动Linux,点击VM ——> Settings ——> Hardware ——> Network Adapter,在右边的Network connection中选择“Bridged”,点【OK】确认操作后,将Linux的网络关闭重新连接,打开终端,输入命令“ifconfig”,回车,查看IP是为外网的IP
3) 与scp类似的remote任务中,还有一个Sshexec。该任务的主要作用是,远程执行ssh命令,所以还需在Linux上安装它。安装步骤:打开Linux上的终端,输入命令“sodo apt-get install openssh-server”回车,终端便会自动去下载安装。安装好后,输入命令“ps –ef | grep sshd”回车,可查看sshd是否已经启动。

5、 添加在本地运行测试用例的功能
双击打开build.xml,在<project></project>标签内添加如下一个新的<target>标签
<target name="run" depends="jar">
<java classname="test.TestMidlet" failonerror="true" fork="yes">
<classpath refid="jsr253.classpath"></classpath>
</java>
</target>
注解:
Java:运行Java程序;classname是添加启动类,格式为“ 包名.类名”;
failonerror可以控制当任务失败时是否终止构建,默认为true;
Classpath:编译后类文件存放的路径。

6、 添加用FTP将文件拷贝到远程服务器上的功能
<target name="ftp" depends="lar">
<ftp server="192.168.16.2" userid="root" password="" remotedir="/root">
<fileset dir="E:/test"></fileset>
</ftp>
</target>
注解:
Server:需要连接的远程机器的IP地址。
Remotedir:访问的FTP远程目录,ftp默认为其根目录,如上表示传送到远程ftp下的root目录。
Fileset:本地需上传的文件所在的目录。如上表示将E盘test文件夹下的所有文件上传至远程。

此功能与SSH一样,都需要在ant中添加一jar包,操作如下:
1) 下载commons-net-ftp-2.0.jar,放到ant目录的lib文件夹下,然后在Eclipse中点击Window ——> Preferences ——> Ant ——> Runtime ——> Classpath,在Ant Home Entries(Default)中把commons-net-ftp-2.0.jar添加进去。

Ant官方用户手册:http://ant.apache.org/manual/

Eclipce结合Ant进行编译、打包、传输、运行的更多相关文章

  1. Ant自动编译打包&发布 android项目

    Eclipse用起来虽然方便,但是编译打包android项目还是比较慢,尤其将应用打包发布到各个渠道时,用Eclipse手动打包各种渠道包就有点不切实际了,这时候我们用到Ant帮我们自动编译打包了. ...

  2. Andorid进阶7—— Ant自动编译打包&发布 android项目

    http://www.cnblogs.com/tt_mc/p/3891546.html Eclipse用起来虽然方便,但是编译打包android项目还是比较慢,尤其将应用打包发布到各个渠道时,用Ecl ...

  3. Ant自动编译打包android项目(转载)

      1.1   Ant安装 ant的安装比较简单,下载ant压缩包  http://ant.apache.org  (最新的为1.9.3版本),下载之后将其解压到某个目录(本人解压到E:\Progra ...

  4. (转载)Ant自动编译打包android项目

    1  Ant自动编译打包android项目 1.1   Ant安装 ant的安装比较简单,下载ant压缩包  http://ant.apache.org  (最新的为1.9.3版本),下载之后将其解压 ...

  5. 通过ant脚本编译打包android工程

    通过ant脚本,编译打包android工程 1.Android程序编译.打包.签名.发布的三种方式:  方式一:命令行手动编译打包  方式二:使用ant自动编译打包  方式三:使用eclipse+AD ...

  6. Android - Ant自动编译打包android项目 -- 1(转)

    1.  背景: Eclipse用起来虽然方便,但是编译打包android项目还是比较慢,尤其当要将应用打包发布到各个渠道时,用Eclipse手动打包各种渠道包就有点不切实际了,这时候我们用到Ant帮我 ...

  7. ant自动编译打包android项目

    源代码及可执行文件下载地址:http://files.cnblogs.com/rainboy2010/antdemo.zip Android打包APK的流程如下:  下面我们开始尝试使用ant进行ap ...

  8. ant重新编译打包hadoop-core-1.2.1.jar时遇到的错

    错误1. [root@MyDB01 hadoop]# ant -Dversion=1.2.1 examples 错误: 找不到或无法加载主类 org.apache.tools.ant.launch.L ...

  9. android ant 自动编译打包

    http://www.cnblogs.com/tankaixiong/archive/2010/11/24/1887156.html

随机推荐

  1. AC自动机 HDU 3065

    大概就是裸的AC自动机了 #include<stdio.h> #include<algorithm> #include<string.h> #include< ...

  2. C#-WebForm-★★★ 分页展示 ★★★

    什么是"分页展示"? 分页展示就是将庞大的数据分成若干页,每页展示若干条数据,向用户展示数据 流程:客户端浏览器向服务器发送查询请求 → 服务器从数据库查询数据 → 服务器转换成代 ...

  3. 从linux0.11中起动部分代码看汇编调用c语言函数

    上一篇分析了c语言的函数调用栈情况,知道了c语言的函数调用机制后,我们来看一下,linux0.11中起动部分的代码是如何从汇编跳入c语言函数的.在LINUX 0.11中的head.s文件中会看到如下一 ...

  4. celery使用方法

    1.celery4.0以上不支持windows,用pip安装celery 2.启动redis-server.exe服务 3.编辑运行celery_blog2.py !/usr/bin/python c ...

  5. [日常训练]string

    Description 给定一个长度为$n$的字符串,串中的字符保证是前$k$个小写字母.你可以在字符串后再添加$m$个字符,使得新字符串所包含的不同的子序列数量尽量多.当然,前提是只能添加前$k$个 ...

  6. Python 【第六章】:Python操作 RabbitMQ、Redis、Memcache、SQLAlchemy

    Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度 ...

  7. 用hibernate tools生成对应的sql应用代码

    参考资料: eclipse在线配置hibernate tools http://jingyan.baidu.com/article/db55b609959d154ba20a2f5d.html [图]H ...

  8. 如何防止应用因获取IDFA被AppStore拒绝

    由于Appstore禁止不使用广告而采集IDFA的app上架,友盟提供IDFA版和不含IDFA版两个SDK,两个SDK在数据上并没有差异,采集IDFA是为了防止今后因为苹果可能禁止目前使用的openu ...

  9. 16 Promise

    Promise 特点 对象的状态不受外界影响.Promise对象代表一个异步操作,有三种状态:Pending(进行中).Resolved(已完成,又称Fulfilled)和Rejected(已失败). ...

  10. HTML DOM prompt() 方法

    1. 定义和用法 prompt() 方法用于显示可提示用户进行输入的对话框. 语法 prompt(text,defaultText) 参数 描述 text 可选.要在对话框中显示的纯文本(而不是 HT ...