|
首先对mac下的ant进先升级,如果mac下没有安装ant下载解压就可以了。
1.下载最新的ant,下载地址:http://ant.apache.org/bindownload.cgi,可以在这里找到最新的下载地址,
我目前下载的是apache-ant-1.9.0-bin.tar.gz
2.下载后解压到做任意目录,然后解压
3.要使用ant的ssh的话,就要下载jsch这个包,这个包虽然在ant lib目录下面有,但是会有错误必须要用官网jsch的地替换
下载jsch这个包要到官网:http://www.jcraft.com/jsch/index.html下载,我目前下载的是jsch-0.1.49.jar
4.所下载到的jsch-0.1.49.zip包copy到ant/lib目录下面,这里不要删除原来的ant-jsch.jar这个包,删除后会有错误
5.找到mac中ant的目录,可以用which ant找到使用ant命令的目录,我的机器在/usr/bin/ant,然后用ls -l查看这里连接到哪里
哪里就是ant的主目录,我的主目录在/usr/share/ant/
6.干掉ant主目录,然后把我们下载的解压后的ant复制到/usr/share/下面,就是用下载的ant替换机器上的ant
7.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>
若个命令可以用;号隔开 |
|
所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298
本贴地址:https://www.yunweiku.com/thread-378141-1-1.html
上篇帖子:
遭遇krnln.fnr,com.run,shell.fne,dp1.fne,eAPI.fne,internet.fne,RegEx.fnr,spec.fne等
下篇帖子:
shell脚本学习:不得不细心之sed和grep,sort和uniq,从细节看“认真”
|