Ant 학습 실례

Ant 학습 실례
1. Ant 설치
먼저http://ant.apache.org/Ant 를 다운로드 하고 모든 디 렉 터 리 아래 에 압축 을 푸 십시오. 예 를 들 어 E: \ Lab
그리고 환경 변 수 를 설정 합 니 다.
ANT_HOME=E:\Lab\apache-ant-1.8.2
path=E:\Lab\apache-ant-1.8.2\bin
마지막 으로 설치 성공 여 부 를 검증 합 니 다.
dos 에 ant 를 입력 하 십시오. 표시 되면
Buildfile: build.xml does not exist! Build failed
설치 성공
2. 기본 요소
프로젝트 요소
procject 요 소 는 Ant 파일 의 루트 요소 입 니 다.
프로젝트 속성
Attribute
Description
Required
name
항목 이름
No
default
target 이 지정 되 지 않 았 을 때 사용 할 결 성 target
Yes
basedir
기본 경 로 를 지정 하 는 위치 입 니 다.이 속성 이 지정 되 지 않 았 을 때 Ant 의 구성 요소 파일 의 첨부 디 렉 터 리 를 기준 디 렉 터 리 로 사용 합 니 다.
No
대상 요소
target 은 Ant 의 기본 실행 단위 로 하나 이상 의 구체 적 인 작업 을 포함 할 수 있 습 니 다.여러 target 은 상호 의존 관 계 를 가 질 수 있 습 니 다.
Ant 는 depends 속성 에서 target 이 나타 나 는 순서 (왼쪽 에서 오른쪽으로) 에 따라 각각 target 을 순서대로 실행 합 니 다.그러나 어떤 target 이 하나의 target 에 의존 하면 후 자 는 먼저 실 행 될 것 이라는 것 을 기억 해 야 한다.

우리 가 target D 를 실행 할 것 이 라 고 가정 하 다.의존 속성 을 보면 C 를 먼저 실행 한 다음 에 B, 마지막 에 A 가 실 행 될 것 이 라 고 생각 할 수 있 습 니 다.틀 렸 습 니 다. C 는 B 에 의존 하고 B 는 A 에 의존 하기 때문에 먼저 A 를 실행 한 다음 에 B.
그리고 C, 마지막 D 가 실 행 됩 니 다.
하나의 target 은 한 번 만 실 행 될 수 있 습 니 다. 즉, 여러 개의 target 이 그것 에 의존 합 니 다.
build 과정 을 더 잘 제어 하려 면 if 나 unless 를 사용 할 수 있 습 니 다.
if 속성
    지정 한 속성 이 존재 하 는 지 검증 하 는 데 사 용 됩 니 다. 존재 하지 않 으 면 target 은 실행 되 지 않 습 니 다.
unless 속성
    이 속성의 기능 은 if 속성의 기능 과 정반 대 입 니 다. 지정 한 속성 이 존재 하 는 지 검증 하 는 데 도 사 용 됩 니 다. 존재 하지 않 으 면 대상 이 실 행 됩 니 다.
property 요소
property 요 소 는 파 라 메 트릭 이나 매개 변수의 정의 (즉, 자주 사용 하 는 변수) 로 볼 수 있 습 니 다. procject 의 속성 은 property 요 소 를 통 해 설정 할 수도 있 고 Ant 밖에서 설정 할 수도 있 습 니 다.
name 은 변수의 이름 value 는 변수의 값 입 니 다. 어떤 변 수 를 사용 할 때 ${name} 방식 으로 호출 합 니 다.
3. 전체 예시
자바 프로젝트 만 들 기
HelloWorld.java
package com.test;

public class HelloWorld {
	public static void main(String[] args) {
		System.out.println("Hello world");
	}
}

build. xml 파일 작성
주: build. xml 는 src 하위 디 렉 터 리 가 아 닌 src 와 같은 레벨 디 렉 터 리 에 놓 습 니 다.
디렉토리 구 조 는?
MyProject < dir > | -- lib < dir > - 라 이브 러 리 디 렉 터 리 | -- classes < dir > - 목적 파일 디 렉 터 리 | -- src < dir > - 원본 파일 디 렉 터 리 | -- doc < dir > - api 문서 디 렉 터 리 | -- build. xml
<?xml version="1.0" encoding="UTF-8" ?>
<project name="helloWorld" default="run" basedir=".">
	<property name="src" value="src"/>
	<property name="dest" value="build/classes"/>
	<property name="lib" value="lib"></property>
	<property name="hello_jar" value="hello1.jar"></property>
	<!--            -->
	<target name="init" depends="clean">
		<mkdir dir="${dest}"/>
	</target>
	<!--    class   -->
	<target name="compile" depends="init">
		<javac srcdir="${src}" destdir="${dest}"></javac>
	</target>
	<!--     class    -->
	<target name="build" depends="compile">
		<mkdir dir="${lib}"/>
		<jar jarfile="${lib}/${hello_jar}" basedir="${dest}"></jar>
	</target>
	<target name="run" depends="build">
		<java classname="com.test.HelloWorld" classpath="${lib}/${hello_jar}"></java>
	</target>
	<!--  -->
	<target name="clean">
		<delete dir="${dest}"></delete>
		<delete dir="${lib}"></delete><!--  dir      ,  file     -->
	</target>
</project>

전체 과정: 초기 화 - 컴 파일 - 포장 - 해당 위치 에 놓 기
참고:
http://www.cnblogs.com/philander/articles/1782254.html
http://www.cnblogs.com/elric/archive/2011/03/19/1988840.html

좋은 웹페이지 즐겨찾기