Apache Ant 입문
기본 개념
project
Ant 의 빌 드 파일 (buildfiles) 은 XML 형식 입 니 다. 빌 드 파일 마다 하나의 procject 태그 가 포함 되 어 있 습 니 다. 이 빌 드 파일 이 구축 할 프로젝트 를 대표 합 니 다.procject 라벨 은 세 가지 속성 이 있 는데 그것 이 바로 name, default, basedir 입 니 다. 이 세 가지 속성의 역할 은 다음 과 같 습 니 다.
속성
묘사 하 다.
반드시
name
the name of the project.
No
default
the default target to use when no target is supplied.
No; however, since Ant 1.6.0, every project includes an implicit target that contains any and all top-level tasks and/or types. This target will always be executed as part of the project's initialization, even when Ant is run with the -projecthelp option.
basedir
the base directory from which all path calculations are done. This attribute might be overridden by setting the "basedir" property beforehand. When this is done, it must be omitted in the project tag. If neither the attribute nor the property have been set, the parent directory of the buildfile will be used. A relative path is resolved relative to the directory containing the build file.
No
또한, < description > 탭 을 통 해 procject 에 설명 을 추가 할 수 있 습 니 다. 이 description 은 projet 의 하위 요소 입 니 다. 예 를 들 어:
<project name="MyProject" default="dist" basedir=".">
<description>
simple example build file
</description>
</project>
target
하나의 target 은 임 무 를 수행 할 집합 을 표시 합 니 다.프로젝트 에 최소한 하나의 target 이 포함 되 어 있 으 며, target 마다 하나 이상 의 작업 이 포함 되 어 있 습 니 다.Ant 를 시작 할 때 기본 target 을 지정 할 수 있 습 니 다. 지정 하지 않 으 면 procject 탭 에서 default 속성 이 지정 한 target 을 기본 으로 실행 합 니 다.
하나의 procject 에 여러 개의 target 이 있 을 수 있 습 니 다. 하나의 target 은 다른 target 에 의존 할 수 있 습 니 다. 예 를 들 어 하나의 procject 에서 copiling 이라는 target 과 distributable 이라는 target 을 정 했 지만 copiling 이 실행 되 어야 distributable 을 실행 할 수 있 습 니 다. 그러면 distributable 은 copiling 에 의존 하 는 것 입 니 다. Ant 는 이러한 의존 을 처리 할 수 있 습 니 다.그러나 Ant 의 의존 은 target 실행 순 서 를 처리 하 는 것 일 뿐 이들 의 실행 여 부 는 영향 을 주지 않 습 니 다. 예 를 들 어 copiling 실행 에 실패 하면 distributable 은 실행 에 실패 할 뿐 입 니 다.
task
task 는 실행 가능 한 코드 세 션 입 니 다.하나의 target 은 여러 task 를 포함 할 수 있 습 니 다.
모든 task 는 여러 개의 속성 (또는 값) 을 가 질 수 있 습 니 다. 그 중에서 속성의 값 은 직접 지정 할 수도 있 고 property 에 대한 참조 일 수도 있 습 니 다. 이 인용 은 task 가 실행 되 기 전에 분 석 될 것 입 니 다.
task 의 구 조 는 다음 과 같다.
<name attribute1="value1" attribute2="value2" ... />
name 은 바로 이 task 의 이름 입 니 다. attribute 1, attribute 2 는 name 이라는 task 의 속성 입 니 다. 속성 은 여러 개 있 을 수 있 습 니 다. 예 를 들 어 mkdir 라 는 task 역할 은 디 렉 터 리 를 만 드 는 것 입 니 다. 그 용법 은 다음 과 같 습 니 다.
<mkdir dir="${dist}"/>
이 task 는 디 렉 터 리 를 만 드 는 것 입 니 다. dir 는 그 속성 입 니 다. 만 들 디 렉 터 리 의 경 로 를 지정 하 는 데 사 용 됩 니 다. 디 렉 터 리 의 경 로 는 속성 값 ${dist} 에서 지정 합 니 다. 이 속성 dist 의 값 은 property 에서 지정 합 니 다.
Apache Ant 에 많은 task 가 내장 되 어 있 습 니 다. 구체 적 으로 참고 할 수 있 습 니 다.http://ant.apache.org/manual/tasklist.html
property
property 는 procject 에서 name 또는 value 속성 을 통 해 속성 을 설정 하거나 자원 파일 을 통 해 속성 을 설정 하 는데 사용 되 며, property 는 대소 문자 가 민감 합 니 다.... 와 같다
<property name="foo.dist" value="dist"/>
이 property 의 역할 은 속성 foo. dist 의 값 을 dist 로 설정 하 는 것 입 니 다. name 과 value 를 통 해 속성 값 을 지정 하 는 것 외 에 property 는 지정 한 파일 과 자원 으로 속성 을 설정 하 는 것 도 지원 합 니 다. 예 를 들 어
<property file="foo.properties"/>
foo. properties 라 는 파일 에서 속성 과 속성 값 을 읽 고 url 을 통 해 네트워크 의 자원 을 읽 을 수 있 음 을 나타 낸다. 예 를 들 어:
<property url="http://www.mysite.com/bla/props/foo.properties"/>
웹 에서 url 을 읽 는 것 을 표시 합 니 다.http://www.mysite.com/bla/props/foo.properties의 속성.property 의 기타 속성 에 대해 참고 할 수 있 습 니 다.http://ant.apache.org/manual/Tasks/property.html
property 는 본질 적 으로 task 입 니 다.
간단 한 빌 드 파일 쓰기
Apache Ant 에 대한 기본 내용 을 배 웠 습 니 다. 이제 가장 기본 적 인 build. xml 파일 을 쓰 겠 습 니 다. 이 build. xml 파일 의 역할 은 자바 프로젝트 를 컴 파일 한 다음 이 프로젝트 를 jar 패키지 로 만 들 고 자바 류 파일 을 먼저 쓰 는 것 입 니 다.
package com.anttest;
public class AntTest {
public static void main(String[] args) {
System.out.println("Hello Ant");
}
}
이 자바 파일 이 있 는 항목 의 이름 은 AntStart 이 고 build. xml 파일 은 AntStart 프로젝트 의 루트 디 렉 터 리 에 놓 여 있 습 니 다. 그 내용 은 다음 과 같 습 니 다.
<?xml version="1.0" encoding="UTF-8"?>
<project name="AntStart" default="dist" basedir=".">
<description>
build
</description>
<!-- build -->
<property name="src" location="src"/>
<property name="build" location="build"/>
<property name="dist" location="dist"/>
<target name="init">
<!-- -->
<tstamp/>
<!-- -->
<mkdir dir="${build}"/>
</target>
<target name="compile" depends="init"
description="compile the source " >
<!-- ${src} Java ${build} -->
<javac srcdir="${src}" destdir="${build}"/>
</target>
<target name="dist" depends="compile"
description="generate the distribution" >
<!-- jar -->
<mkdir dir="${dist}/lib"/>
<!-- jar -->
<jar jarfile="${dist}/lib/AntStart-${DSTAMP}.jar" basedir="${build}"/>
</target>
<target name="clean"
description="clean up" >
<!-- -->
<delete dir="${build}"/>
<delete dir="${dist}"/>
</target>
</project>
AntStart 프로젝트 의 루트 디 렉 터 리 에서 ant 명령 을 실행 하면 build 디 렉 터 리 와 dist 디 렉 터 리 를 만 듭 니 다. dist 디 렉 터 리 에 lib 디 렉 터 리 가 있 습 니 다. 이 디 렉 터 리 에는 구 축 된 jar 패키지 가 저장 되 어 있 습 니 다. 마지막 으로 clean 이라는 target 이 실행 되 지 않 았 습 니 다. procject 의 기본 target 은 dist 이기 때 문 입 니 다. procject 의 기본 target 을 clean 으로 바 꾸 면 마지막 으로 build 디 렉 터 리 와 dist 디 렉 터 리 를
Reference
http://ant.apache.org/manual/index.html
EOF
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.