Ant使用案例

build.xml

<?xml version="1.0" encoding="utf-8"?>

<project name="myAnt" basedir="." default="">
	<property name="src" value="src">
	</property>
	<property name="classes" value="classes">
	</property>
	<property name="dest" value="dest">
	</property>

	<path id="classpath">
		<pathelement path="${classes}" />
	</path>

	<target name="help" description="打印幫助信息">
		<echo>help - 打印幫助信息</echo>
		<echo>compile - 編譯java源文件</echo>
		<echo>run - 運行程序</echo>
		<echo>build - 打包jar文件</echo>
		<echo>clean - 清除所有編譯生成的文件</echo>
	</target>

	<target name="compile" description="編譯java源文件">
		<delete dir="${classes}">
		</delete>
		<mkdir dir="${classes}" />
		<javac destdir="${classes}" debug="true" includeantruntime="yes" deprecation="false" optimize="false" failonerror="true">
			<src path="${src}" />
			<classpath refid="classpath">
			</classpath>
		</javac>
	</target>

	<target name="run" description="運行程序" depends="compile">
		<java classname="cn.jzy.ant.Hello" fork="yes" failonerror="true">
			<classpath refid="classpath">
			</classpath>
		</java>
	</target>

	<target name="build" description="打包jar文件" depends="compile">
		<delete dir="${dest}">
		</delete>
		<mkdir dir="${dest}" />
		<jar destfile="${dest}/app.jar" basedir="${classes}"
			includes="**/*.class">
			<manifest>
				<attribute name="Main-Class" value="cn.jzy.ant.Hello"/>
			</manifest>
		</jar>
	</target>
	
	<target name="clean" description="清除所有編譯生成的文件">
		<delete dir="${classes}"></delete>
		<delete dir="${dest}"></delete>
	</target>
	
	<!--自定義標籤、實現文件內容的排序-->
	<taskdef name="mySort" classname="cn.jzy.ant.SortAnt" classpath="bin"></taskdef>
	
	<target name="sortDemo">
		<mySort srcfile="input.text" destfile="output.text"/>
	</target>
	
</project>

自定義Ant標籤

package cn.jzy.ant;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.ListIterator;

import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.Task;

public class SortAnt extends Task {
	private File srcFile;
	private File destFile;
	public File getSrcFile() {
		return srcFile;
	}
	public void setSrcFile(File srcFile) {
		this.srcFile = srcFile;
	}
	public File getDestFile() {
		return destFile;
	}
	public void setDestFile(File destFile) {
		this.destFile = destFile;
	}
	@Override
	public void execute() throws BuildException {
		try {
			BufferedReader fromFile=new BufferedReader(new FileReader(srcFile));
			BufferedWriter toFile=new BufferedWriter(new FileWriter(destFile));
			List<String> list=new ArrayList<String>();
			String line=fromFile.readLine();
			while(line!=null){
				list.add(line);
				line=fromFile.readLine();
			}
			
			Collections.sort(list);
			for(ListIterator<String> li=list.listIterator();li.hasNext();){
				String str=li.next();
				toFile.write(str);
				toFile.newLine();
			}		
			fromFile.close();
			toFile.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}	
}



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章