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

首先对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:[email protected]:/tmp/alecyan/project1" trust="true">
			<fileset dir="${project1.dir}">
	            	<exclude name="**/bin/**"/>
	            	<exclude name="**/build/**"/>
	        </fileset>
		 </scp>
    </target>
    
    <target name="uploadProject2">
		 <scp todir="username:[email protected]:/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>


若个命令可以用;号隔开

猜你喜欢

转载自ylq365.iteye.com/blog/1856105
今日推荐