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
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.