您的位置:首页 > 其它

一个ANT脚本

2012-11-30 20:03 351 查看
以下ANT脚本是项目中需要的,主要是完成扫描,拷贝,编译以及运行

<?xml version="1.0" encoding="UTF-8"?>
<project name="测试脚本" default="run" basedir="." >
<target name="scan">
<echo message="正在扫描JAVA文件..." />
<exec executable="cmd" failonerror="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" failonerror="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" failonerror="true">
</exec>
<input message="请输入运行的主类(下标从0开始)"
addproperty="run.index"
/>
<exec executable="runMainClass.bat" failonerror="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 ..
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: