Etc2007. 11. 15. 17:10

Ant 설치하기

Ant 구하기

실행본

Ant 의 최신의 안정판은 Ant 의 홈 페이지 http://jakarta.apache.org/ant/ 에서 다운로드 가능합니다. 마지막 버전을 좋아하는 분은, http://jakarta.apache.org/builds/ant/nightly/ 에서 가장 최신판을 다운로드할 수 있습니다.

원본

원본을 갖고 싶다면, http://jakarta.apache.org/builds/ant/release/v1.5.1/src/ 에서 Ant 의 최신 릴리즈의 소스를 다운로드할 수 있습니다. 반복이 됩니다만, 마지막 버전을 구하고 싶다면, CVS 를 통해서 개발되고 있는 코드에 액세스 가능합니다. Jakarta 의 웹 사이트에서, CVS에의 액세스에 대해 자세하게 알 수 있습니다. jakarta-ant 모듈을 체크아웃 해 주세요. 소스 코드로부터 Ant 를 빌드 하는 방법에 대해서는, Ant 빌드하기 의 부분을 참조하세요. Ant CVS 창고에도 온라인으로 접근가능합니다.


시스템 요구사항

Ant 는, Linux, Solaris 나 HP-UX 라고 하는 상용 Unix, Windows 9x 및 NT, Novell Netware 6 , 그리고 MacOS X 등을 포함한 수많은 플랫폼에서 잘 사용되고 있습니다.

Ant 를 빌드 해 사용하려면, 당신의 클래스 패스에 JAXP 호환의 XML 파서가 인스톨되어 이용 가능해야 합니다.

Ant 의 실행본 제품은, Apache Xerces2 XML 파서의 최신판이 포함되어 있습니다. JAXP 에 대한 자세한 정보는 http://java.sun.com/xml/ 을 봐 주세요. JAXP 호환의 다른 파서를 사용하고 싶은 경우에는, Ant의 lib 디렉토리로부터 xercesImpl.jarxml파서APIs.jar 를 삭제해 주세요. 그리고, 당신 취향의 파서로부터 그 jar 파일들을 Ant 의 lib디렉토리에 넣어두든지 아니면, jar 파일들을 시스템 클래스패스로 잡으시기 바랍니다.

현재 버전의 Ant는, 버전 1.1 이상의 JDK 가 인스톨되는 것을 요구합니다. 어떤 태스크는 1.1 이상의 시스템에서 잘 작동합니다; 어떤 태스크는 Java 1.2 및 그 계열에서만 작동합니다. Ant 1.x 에서는 1.1 의 호환성을 유지하도록 계속 노력합니다만, Ant 의 장래의 버젼 -Ant 2.0- 에서는 JDK 1.2 이상을 요구사항으로 할 예정입니다.

주의: MS 컴파일러는 지원하고 있습니다만, Microsoft JVM/JDK 만으로는 적절하지는 않습니다.

주의 #2: 만약 JDK 가 없는 JRE runtime 만으로는, 많은 태스크는 동작하지 않습니다.


Ant 설치하기

Ant 의 실행본 배포판은 다음과 같은 디렉토리로 구성되어 있습니다:

 ant +--- bin // 실행 스크립트가 있습니다 | +--- lib // Ant jar 들과 필요한 의존파일이 있습니다 | +--- docs // 문서가 있습니다 | +--- ant2 // Ant2 의 요구사항의 간단한 설명 | | | +--- images // HTML 문서용의 여러가지 로고 | | | +--- manual // Ant 의 문서(반드시 읽어 주세요 ;-) | +--- etc // xsl 툴이 있습니다 // - 여러가지 태스크의 xml 출력으로부터, 보다 좋은 리포트를 작성합니다 // - 빌드 파일을 통합해, 'deprecated'의 경고를 없앱니다 // - ... 게다가 그 밖에도 ;-)
Ant 를 실행하려면 binlib 디렉토리만이 필요합니다. 인스톨 하려면 , 어느 디렉토리를 선택해, 배포 파일을 거기에 카피합니다. 이 디렉토리는 ANT_HOME 이 됩니다.
Windows 95 및 Windows 98 상에서의 주의사항:
  이러한 시스템상에서는, ANT_HOME 이 긴 파일명일 경우, Ant 를 기동하는데 사용되는 스크립트에 문제가 발생합니다. 이것은, OS의 배치파일의"for" 문의 제한에 의하는 것입니다. 따라서, Ant 를 C:\Ant 처럼 짧은 path 에 인스톨 하는 것을 추천 합니다.

Ant 를 실행하기 전에, 필요한 몇개의 추가의 설정이 있습니다:

  • bin 디렉토리를 path에 추가합니다.
  • 환경 변수 ANT_HOME 을 Ant 를 인스톨된 장소의 디렉토리로 설정합니다. 일부의 운영체제에서는, Ant 의 wrapper 스크립트들을 ANT_HOME 로 추측합니다 (Unix 계열이나 Windows NT/2000) - 그러나, 이 방법은 의지하지 않는 편이 좋을 것입니다.
  • 추가로, 환경 변수 JAVA_HOME 을 설정합니다. (아래의 고급자용 부분에서 봐 주세요.) 이것에는 JDK가 인스톨 된 장소의 디렉토리로 설정합니다.

주의: Ant 의 ant.jar 파일을 JDK/JRE 의 lib/ext 디렉토리에 인스톨 하지 말아 주세요. Ant 는 애플리케이션입니다만, extension 디렉토리는 JDK 의 확장기능을 위한 영역이기 때문입니다. 특히, extension 에 의해 로드 되는 클래스에는 보안영역의 제한이 있습니다.

옵션 태스크

Ant 는 몇 개의 옵션 태스크를 제공하고 있습니다. 옵션 태스크는 외부 라이브러리를 필요로 하는 전형적인 태스크입니다. 옵션 태스크는 Ant 의 Core 태스크와 함께 패키지되어 있습니다.

개개의 옵션 태스크로 필요한 외부 라이브러리는 라이브러리 의존관계의 영역에서 자세하게 진술되고 있습니다. 이러한 외부 라이브러리는 자동적으로 꺼내지는 Ant 의 lib 디렉토리에 두는지 또는, 시스템 환경 변수 CLASSPATH 로 사용할 수 있도록 만듭니다.

Windows

Ant 가 c:\ant\ 에 인스톨 되고 있다고 가정하고, 다음의 환경대로 설정합니다:

set ANT_HOME=c:\ant set JAVA_HOME=c:\jdk1.2.2 set PATH=%PATH%;%ANT_HOME%\bin

Unix (bash)

Ant 가 /usr/local/ant 에 인스톨 되고 있다고 가정하고, 다음의 환경대로 설정합니다:

export ANT_HOME=/usr/local/ant export JAVA_HOME=/usr/local/jdk-1.2.2 export PATH=${PATH}:${ANT_HOME}/bin

Unix (csh)

setenv ANT_HOME /usr/local/ant setenv JAVA_HOME /usr/local/jdk-1.2.2 set path=( $path $ANT_HOME/bin )

고급자용

Ant 를 실행하는데는 여러가지 방법이 있습니다. 최소한의 필요한 일은 다음과 같습니다:

  • Ant 의 클래스패스에 ant.jar 와, 선택된 JAXP 호환 XML 파서에 필요한 jars/클래스들이 포함되어야합니다.
  • JDK 의 기능이 필요한 경우(javac 태스크나 rmic 태스크 같은), JDK 1.1 에서는 JDK 의 classes.zip 파일을 클래스 패스에 추가해야 합니다; JDK 1.2 나 JDK 1.3 에서는 tools.jar 을 반드시 추가해야 합니다. Ant 와 함께 제공되는 bin 디렉토리에 있는 스크립트는, 환경 변수 JAVA_HOME 가 설정되어 있는 경우, 필요한 JDK 클래스를 자동적으로 추가합니다.
  • exec 태스크나 cvs 태스크라고 하는 플랫폼 고유의 애플리케이션을 실행하는 경우, 프로퍼티 ant.home 을 Ant 를 인스톨 한 디렉토리로 설정해야 됩니다. 반복이 됩니다만, 이것은 Ant 의 스크립트에 의해 환경 변수 ANT_HOME 의 값으로 설정됩니다.
제공되는 Ant 의 셸 스크립트는 Ant 에 추가 옵션을 주는데 사용할 수 있는 환경 변수 ANT_OPTS 를 모두 지원합니다. 스크립트의 일부에는, 유저의 홈 디렉토리에 있는, 그러한 옵션을 설정하는데 사용되는 외부 스크립트를 읽어들이는 것도 있습니다. 자세한 것은, 자신의 플랫폼의 invocation 스크립트의 소스를 봐 주세요.

Ant 빌드하기

Ant 를 소스로부터 빌드 하려면, Ant 소스 배포판을 인스톨 하거나, CVS 로부터 jakarta-ant 모듈을 체크아웃 할 수도 있습니다.

소스를 인스톨 하려면, 인스톨 디렉토리로 이동합니다.

환경 변수 JAVA_HOME 를 JDK 가 인스톨 된 디렉토리로 설정합니다. 자신의 운영체제로, 이것을 실시하는 방법에 대한 예는 Ant 설치하기를 참조하세요.

자신의 흥미가 있는 태스크를 빌드 하는데 필요한 추가의 jar 를 다운로드했는지 확인합니다. 이것들은, CLASSPATH 상에 두거나 또는, lib 디렉토리에 추가하는 것으로 이용 가능해집니다. 여러가지 기능으로 필요한 jar 의 일람은 라이브러리 의존관계를 봐 주세요. 이것의 추가의 jar 파일은 오직 Ant 의 빌드로만 이용 가능하다는 것에 주의하기 바랍니다. Ant 를 실행하려면 , Ant 설치하기 에서 진술되고 있는 일에 따라 jar 를 사용가능하게 해야 합니다.

여기, Ant 를 빌드 할 준비가 갖추어졌습니다:

build -Ddist.dir=<directory_to_contain_Ant_distribution> dist    (Windows)

build.sh -Ddist.dir=<directory_to_contain_Ant_distribution> dist    (Unix)

이것에 의해, 지정한 디렉토리에 Ant 의 실행본 배포판을 생성합니다.

위의 조작은 다음 일을 실시합니다:

  • 필요하면 Ant 의 코드를 부트스트랩(bootstrap)합니다. Bootstrapping 에는 Ant 를 실행하기 위해서 충분한 Ant 의 코드의 수작업에 의한 컴파일을 포함합니다. 부트스트랩(bootstrap)된 Ant 는, 나머지의 빌드 순서로 적용됩니다.
  • 부트스트랩(bootstrap)된 Ant 에, 빌드 스크립트에 파라미터를 건네주어 실행합니다. 이 경우, 이러한 파라미터는 Ant 의 프로퍼티를 정의해, Ant 자신의 build.xml 파일을 "dist" 타겟으로 지정합니다.

많은 경우는, 빌드 스크립트가 주므로, 명시적으로 Ant 를 부트스트랩(bootstrap)을 실시할 필요는 없을 것입니다. 그렇지만, 사용하고 있는 빌드 파일이, 부트스트랩(bootstrap)된 Ant 로 아직 컴파일되어 있지 않은 기능을 사용하는 경우, 수동으로 부트스트랩(bootstrap)할 필요가 있습니다. Ant 의 새로운 부트스트랩(bootstrap)판을 빌드 하려면, bootstrap.bat (Windows) 혹은 bootstrap.sh (UNIX) 를 실행합니다.

현재의 ANT_HOME 에 빌드 된 것을 인스톨 하고 싶은 경우에는, 다음을 사용할 수 있습니다:

build install    (Windows)

build.sh install    (Unix)

필요하면, 시간이 걸리는 javadoc 생성 과정을 생략 할 수가 있습니다:

build install-lite    (Windows)

build.sh install-lite    (Unix)

이것은 binlib 디렉토리만을 인스톨 합니다.

installinstall-lite 타겟은 양쪽 모두 ANT_HOME 에 있는 현재의 버젼의 Ant 를 덧쓰기합니다.


라이브러리 의존관계

다음에 나타나는 기능을 사용하는 경우에는, 다음의 라이브러리가 CLASSPATH, 혹은, 인스톨 디렉토리안의 lib 디렉토리에 추가되어야 합니다. mapper 로 사용하기 위해서는, regexp 라이브러리의 한 부분이 필요하다는 것에 주의하세요. 이러한 태스크를 이용 가능하게 하려면, 그 태스크의 정의가 포함된 Ant 옵션 jar 파일을 인스톨해야 합니다.. 자세한건 Ant 설치하기 / 옵션 태스크 부분를 참조해 주세요.

Jar 이름(Jar Name) 필요로 하는 태스크(Needed For) 배포 되는 곳(Available At)
An XSL transformer like Xalan or XSL:P style task Xalan을 구할수 있는 곳 http://xml.apache.org/xalan-j/index.html.
http://www.clc-marketing.com/xslp/ 에서 XSL:P 을 배포합니다, 하지만 이 링크는 더이상 작동하지 않고 우리는 이곳을 대체할 만한 사이트를 구하지 못했습니다.
jakarta-regexp-1.2.jar regexp type with mappers jakarta.apache.org/regexp/
jakarta-oro-2.0.4.jar regexp type with mappers and the perforce tasks jakarta.apache.org/oro/
junit.jar junit tasks www.junit.org
xalan.jar junitreport task xml.apache.org
stylebook.jar stylebook task CVS repository of xml.apache.org
testlet.jar test task java.apache.org/framework
antlr.jar antlr task www.antlr.org
bsf.jar script task oss.software.ibm.com/developerworks/projects/bsf
netrexx.jar netrexx task www2.hursley.ibm.com/netrexx
js.jar javascript with script task www.mozilla.org/rhino
jpython.jar python with script task www.jpython.org
jacl.jar and tcljava.jar TCL with script task www.scriptics.com/java
BeanShell JAR(s) BeanShell with script task www.beanshell.org
netcomponents.jar ftp and telnet tasks www.savarese.org/oro/downloads
bcel.jar classfileset data type, JavaClassHelper used by the ClassConstants filter reader and optionally used by ejbjar for dependency determination jakarta.apache.org/bcel/
mail.jar Mail task with Mime encoding, and the MimeMail task http://java.sun.com/products/javamail/
activation.jar Mail task with Mime encoding, and the MimeMail task http://java.sun.com/products/javabeans/glasgow/jaf.html
jdepend.jar jdepend task http://www.clarkware.com/software/JDepend.html


Copyright © 2000-2002 Apache Software Foundation. All rights Reserved.
번역: 성백재, contact: soma815@msn.com http://jspmaster.com
http://www.apache-korea.org , jakarta-seoul project

Posted by is윤군

댓글을 달아 주세요