一个ANT脚本

以下ANT脚本是项目中需要的,主要是完成扫描,拷贝,编译以及运行

<?xml version="1.0" encoding="UTF-8"?>
<project name="测试脚本" default="run" basedir="." >
	<target name="scan">
		<echo message="正在扫描JAVA文件..." />
		<exec executable="cmd" failοnerrοr="true">
			<arg line="/c java -jar Scanner.jar" />
		</exec>
	</target>
	<target name="moveAJ" depends="scan">
		<echo message="正在拷贝Aspectj文件..." />
		<!--todir是确定好的, dir也是确定的-->
		<copy todir="${basedir}/resource/code/com/wander/aspectj">
			<fileset dir="${basedir}/aspectjGen">
				<include name="*.aj"/>
			</fileset>
		</copy>
	</target>
	<target name="compileAJ" depends="moveAJ">
		<echo message="正在编译Aspectj文件..." />
		<!-- -d选项可以修改, -sourceroots 也可以修改-->
		<exec executable="cmd" failοnerrοr="true">
			<arg value="/c ajc -classpath "%ASPECTJ_HOME%"/lib/aspectjrt.jar -sourceroots resource/code/ -d funny -source 1.5" />
		</exec>
	</target>
	
	<target name="run" depends="compileAJ">
		<exec executable="showMainClass.bat" failοnerrοr="true">
		</exec>
		<input message="请输入运行的主类(下标从0开始)" 
			addproperty="run.index"
		/>
		<exec executable="runMainClass.bat" failοnerrοr="true">
			<arg value="${run.index}" />
		</exec>
	</target>
</project>

需要注意的是,使用CMD的命令时,

<arg line="xxxxx" />

xxxxx中是不能含有空格等分隔字符的,如果需要有这样的字符,用这样的的形式
<arg value="xxxxx" />

此外,这个ANT脚本中还用到showMainClass.bat和runMainClass.bat

@echo off
echo 一共有一下几个启动类:
type Log\MainMethod.log

@echo off
set skipNum=%1
if %skipNum%==0 (
	for /f "delims= " %%i in (Log\MainMethod.log) do (
	set MainClass=%%i
	goto end)
) else (
	for /f "delims= skip=%skipNum%" %%i in (Log\MainMethod.log) do (
	set MainClass=%%i
	goto end)
)
:end
echo 准备启动主类:%MainClass%
cd funny
java %MainClass%
cd ..


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值