mac下ant的使用,以及使用ant上传工程和使用ant远程执行shell

首先对mac下的ant进先升级,如果mac下没有安装ant下载解压就可以了。

[b]1.[/b]下载最新的ant,下载地址:[url]http://ant.apache.org/bindownload.cgi[/url],可以在这里找到最新的下载地址,
我目前下载的是
apache-ant-1.9.0-bin.tar.gz

[b]2.[/b]下载后解压到做任意目录,然后解压
[b]3.[/b]要使用ant的ssh的话,就要下载jsch这个包,这个包虽然在ant lib目录下面有,但是会有错误必须要用官网jsch的地替换
下载jsch这个包要到官网:[url]http://www.jcraft.com/jsch/index.html[/url]下载,我目前下载的是
jsch-0.1.49.jar

[b]4.[/b]所下载到的
jsch-0.1.49.zip
包copy到ant/lib目录下面,这里不要删除原来的ant-jsch.jar这个包,删除后会有错误
[b]5.[/b]找到mac中ant的目录,可以用which ant找到使用ant命令的目录,我的机器在/usr/bin/ant,然后用ls -l查看这里连接到哪里
哪里就是ant的主目录,我的主目录在/usr/share/ant/
[b]6.[/b]干掉ant主目录,然后把我们下载的解压后的ant复制到/usr/share/下面,就是用下载的ant替换机器上的ant
[b]7.[/b]ok,ant可以用了,用的时候直接到有build.xml目录下用ant就可以了
下面说的是可以的mac的命令模式下可以用了,如果想在eclipse里可以用,可能须要做如下的理性,eclipse下已经有ant的插件黑夜的情况下
是使用自带的插件,这个时候打开eclipse,在eclipse的菜单项
eclipse-->preferences
在左边就可以找到ant,然后点击进入runtime,在右边可以
看到anthome选项,点击后选择我们的ant目录,就是刚才的/usr/share/ant.就可以了

下面就看看ant的上传功能和执行shell脚本的能力

先看上传的功能:
建两个文件,build.properties和build.xml
build.properties里面存进去一些变量,方便build.xml进行改变
build.properties

project1.dir=/Users/alecyan/Documents/project1
project12.dir=/Users/alecyan/Documents/project2

再看build.xml这个文件

<?xml version="1.0" encoding="UTF-8"?>
<project name="uploadProjectByAnt" basedir="." default="upload">
<property file="build.properties" />

<target name="upload" description="Generate the distribution">
<antcall target="uploadProject1" />
<antcall target="uploadProject2" />
</target>

<target name="uploadProject1">
<scp todir="username:password@192.168.1.111:/tmp/alecyan/project1" trust="true">
<fileset dir="${project1.dir}">
<exclude name="**/bin/**"/>
<exclude name="**/build/**"/>
</fileset>
</scp>
</target>

<target name="uploadProject2">
<scp todir="username:password@192.168.1.111:/tmp/alecyan/project2" trust="true">
<fileset dir="${project2.dir}">
<exclude name="**/bin/**"/>
<exclude name="**/build/**"/>
</fileset>
</scp>
</target>

</project>


上面的文件中基本一看就明白了,只是有一个提醒的是要排除某个目录时,一定要用类似
**/**
的形式,比如要上面的要排除build文件夹,要写成
**/build/**
.

再看ant的脚本执行能力
build.xml

<?xml version="1.0" encoding="UTF-8"?>

<project name="TestAnt" basedir="." default="sshexec">

<target name="sshexec">
<sshexec host="192.168.1.222"
username="username"
password="password"
command="cd /tmp/;mkdir dir;ls -l;" trust="true"/>
</target>

</project>


若个命令可以用;号隔开
展开阅读全文

没有更多推荐了,返回首页