Ant 系统命令、java工程部署


javac

Ant的javac任务用于实现编译Java程序的功能。下面来看一个简单的例子:
首先我们建立名为antstudy的Java工程,建立src目录为源代码目录,在src目录下建立HelloWorld.java这个类文件。该类文件的内容如下:
public class HelloWorld  {public static void main(String[] args)  {System.out.println("Hello,Amigo");} }
同时在antstudy工程的根目录下建立build.xml文件,在该文件中编译src目录下的java文件,并将编译后的class文件放入build/classes目录中,在编译前,需清除classes目录,该文件的内容如下:

<?xml version="1.0"?>
<!- javac  .java编译为.class -->
<project name="javacTest" default="compile" basedir=".">
	<target name="clean">
		<delete dir="build"/>
	</target>

	<target name="compile" depends="clean">
		<mkdir dir="build/classes"/>
		<javac srcdir="src" destdir="build/classes"/>
	</target>
</project>


java 与 jar

<?xml version="1.0"?>
<!-  java运行 与 jar打包 -->
<project name="javaTest" default="jar" basedir=".">
	<target name="clean">
		<delete dir="build"/>
	</target>
	<target name="compile" depends="clean">
		<mkdir dir="build/classes"/>
		<javac srcdir="src" destdir="build/classes"/>
	</target>
	<target name="run" depends="compile">
		<java classname="HelloWorld">
			<classpath>
				<pathelement path="build/classes"/>
			</classpath>
		</java>
	</target>
	<target name="jar" depends="run">
		<jar destfile="helloworld.jar" basedir="build/classes">
			<manifest>
				<attribute name="Main-class" value="HelloWorld"/>
			</manifest>
		</jar>
	</target>
</project>

系统命令

在target标签内嵌入exec标签即可执行系统命令。
exec标签内的arg标签有两个常用参数。
values 是一个命令参数。如果参数中有空格,但又想将它作为单独一个值,则使用此属性。
line 表示用空格分隔的多个参数列表。

windows

Windows必须加 /c,。
<?xml version="1.0" ?> 
<project name="shell" default="test_cmd" basedir="."> 
	<target name="test_cmd">
		<echo>cmd test</echo> 
		<exec executable="cmd">
		      <arg line="/c echo %date%"/>
		</exec>
		<exec executable="cmd">
			<arg line="/c dir"/>
		</exec>
	</target>
</project>
效果见图。

<?xml version="1.0" encoding="UTF-8"?>
<!-- 调用d:\yichu\1.bat 因为1.bat使用了相对路径,而ant又实现不了cd命令,所以ant自己拼凑一个bat >为大于号的转义符 -->
<project name="deploy" default="run">
	<target name="run"  >
	<exec executable="cmd" description="试验 cd 用法">  
			<arg value="/c  echo cd d:\yichu\ >  temp.bat"/>
	</exec>
	<exec executable="cmd" description="试验 cd 用法">  
			<arg value="/c echo call  1.bat >>  temp.bat  "/>
	</exec>
	<exec executable="cmd" description="试验 cd 用法">  
			<arg value="/c  temp.bat"/>
	</exec>
	</target>
</project>

<exec dir="c:\cefclient_final\" executable="c:\cefclient_final\cefsimple.exe"   spawn="true"/> 
上面一行的意思是在dir目录下执行executable程序,不管它什么时候结束,此行exec语句都退出,相当于异步调用。

linux

linux必须加 –c 。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值