. 집합 태그
1. <fileset>
①개요
-. fileset이란 말 그대로 파일의 집합을 말하며 특정 태스크에서 파일을 포함하여야 할때
손쉽게 특정 파일이나 집합을 지정해 주는데 사용된다
주로 클래스패스나, 압축, 파일 카피등의 task에서 사용되어진다
②예제
사용예제-1
<fileset dir="${server.src}" casesensitive="yes">
<include name="**/*.java"/>
<exclude name="**/*Test*"/>
</fileset><fileset dir="${server.src}" casesensitive="yes"> <filename name="**/*.java"/> <filename name="**/*Test*" negate="true"/> </fileset>
<fileset dir="${server.src}" casesensitive="yes"> <filename name="**/*.java"/> <not> <filename name="**/*Test*"/> </not> </fileset>
모든 디렉토리의 java파일을 포함시키면서 파일이름중 Test가 들어가는 파일은 제외하는 fileset을 나타낸다
위 세가지 fileset은 같은 의미이다
사용예제-2
<fileset dir="${server.src}" casesensitive="yes">
<include name="**/*.java, **/*.properties"/>
</fileset><fileset dir="${server.src}" casesensitive="yes">
<include name="**/*.java"/>
<include name="**/*.properties"/>
</fileset>
","를 사용하여 나타낼 수도 있고 다로 분리하여 tag를 사용할 수도 있다
위 두 fileset은 같은 의미이다
③ 속성
속성 | 설명 | 필수여부 |
dir | 파일집합의 최상위 디렉토리 (루트 디렉토리) | dir나 file둘중 하나는 필수 |
file | 특정 하나의 파일을 지정할때 사용 | |
defaultexcludes | default excludes 에 명시된 파일 및 디렉토리를 자동적으로 제외하는 속성이며 이기능을 사용하려면 생략한다. 혹은 yes/no 로 값을 준다 | No |
includes | 컴마나 스페이스로 구분된 파일의 패턴을 포함하는 속성이며 모든 파일을 사용하려면 생략한다 | No |
includesfile | 특정 각각의 파일을 포함할때 사용하는 속성 | No |
excludes | 컴마나 스페이스로 구분된 파일의 패턴을 제외하는 속성이며 생략하면 default excludes를 제외하고 어떠한 파일도 제외하지 않는다 | No |
excludesfile | 특정 각각의 파일을 제외할때 사용하는 속성 | No |
casesensitive | 패턴의 대소문자를 구분할지 여부를 나타내는 속성으로 기본값은 true이다 | No |
followsymlinks | symbolic links를 허용할지 여부를 나타내며 기본값은 true이다 | No |
excludes를 사용하지 않아도 기본적으로 제외되는 파일 및 디렉토리
**/*~
**/#*#
**/.#*
**/%*%
**/._*
**/CVS
**/CVS/**
**/.cvsignore
**/SCCS
**/SCCS/**
**/vssver.scc
**/.svn
**/.svn/**
**/.DS_Store
자 이정도면 fileset은 이제 빠~삭해 지셨겠죠?
2. <dirset>
① 개요
-. fileset이 파일 집합을 나타냈다면 dirset task는 디렉토리의 집합을 나타낸다. 기본적인 속성은 fileset과 동일하다
차이점은 defaultexcludes가 없다
② 사용예제
<dirset dir="${build.dir}"> <include name="apps/**/classes"/> <exclude name="apps/**/*Test*"/> </dirset>
apps 이하 디렉토리중 classes 디렉토리를 포함하고 apps 이하 디렉토리중 디렉토리 이름중 Test가 들어가는 디렉토리는 제외한 dirset을 의미한다
③ 속성
속성 | 설명 | 필수여부 |
dir | 파일집합의 최상위 디렉토리 (루트 디렉토리) | YES |
includes | 컴마나 스페이스로 구분된 디렉토리의 패턴을 포함하는 속성이며 모든 파일을 사용하려면 생략한다 | No |
includesfile | 특정 각각의 디렉토리를 포함할때 사용하는 속성 | No |
excludes | 컴마나 스페이스로 구분된 디렉토리의 패턴을 제외하는 속성이며 생략하면 어떠한 디렉토리도 제외하지 않는다 | No |
excludesfile | 특정 각각의 디렉토리를 제외할때 사용하는 속성 | No |
casesensitive | 패턴의 대소문자를 구분할지 여부를 나타내는 속성으로 기본값은 true이다 | No |
followsymlinks | symbolic links를 허용할지 여부를 나타내며 기본값은 true이다 | No |
3. <patternset>
① 개요
-. 여러 파일이나 디렉토리를 미리 그룹핑해 놓고 이를 특정 아이디를 통해 사용하는 방식을 제공한다. 즉 워드의 매크로 같은 기능이라 보면 쉽게 이해가 갑니다
② 사용예제
<patternset id="non.test.sources"> <include name="**/*.java"/> <exclude name="**/*Test*"/> </patternset>
...
<fileset dir="${server.src}">
<patternset refid="non.test.sources"/>
</fileset>
...
<fileset dir="${server.src}">
<patternset refid="non.test.sources">
<include name="**/*.java"/>
</patternset>
</fileset>
예제를 보는바와 같이 patternset은 여러곳에서 동일한 패턴을 사용할때 이를 미리 정의해 놓고 지정한 id의 값을 refid를 통해 재사용 할 수 있다
paternset을 사용하면 코딩양을 줄일 수 있고 변동사항이 있으면 손쉽게 변동 할 수 있다는 점이다
③ 속성
속성 | 설명 | 필수여부 |
includes | 컴마나 스페이스로 구분된 디렉토리의 패턴을 포함하는 속성이며 모든 파일을 사용하려면 생략한다 | No |
includesfile | 특정 각각의 디렉토리를 포함할때 사용하는 속성 | No |
excludes | 컴마나 스페이스로 구분된 디렉토리의 패턴을 제외하는 속성이며 생략하면 어떠한 디렉토리도 제외하지 않는다 | No |
excludesfile | 특정 각각의 디렉토리를 제외할때 사용하는 속성 | No |
4. <path>
① 개요
-. 파일과 디렉토리를 함께 나타낼 수 있는 집합. 클래스패스에는 경로뿐만 아니라 *.jar 같은 파일이 같이 사용되듯이 이 path task는 주로 클래스패스로 자주 이용된다
fileset, dirset과 비슷하지만 파일과 디렉토리를 함께 나타낼 수 있다는 점에서 틀리다
path tag역시 patternset과 같이 지정된 id 값을 이용하여 여러 곳에서 재사용 할 수 있다.
② 사용예제
아래 예제는 ${basedir}/lib/struts.jar, ${base.dir}/lib/log4j.jar 그리고 ${base.dir}/classes 에 클래스패스를 잡는 예제이다.
<path id="base.path">
<pathelement path="lib/struts.jar;lib/log4j.jar"/> <pathelement location="classes"/> </path> ...
<classpath refid="base.path"/>
...
path에 대한 정의를 해놓고 base.path라는 아이디를 이용하여 여러 곳에서 사용할 수 있다
II. 파일 태그
1. <copy>
① 개요
-. 소스 파일을 타겟으로 파일을 복사하는데 사용한다
② 사용예제
파일 하나 복사
<copy file="myfile.txt" tofile="mycopy.txt"/>
파일 하나를 디렉토리에 복사
<copy file="myfile.txt" todir="../some/other/dir"/>
디렉토리를 다른 디렉토리로 복사
<copy todir="../new/dir">
<fileset dir="src_dir"/>
</copy>
파일 집합을 디렉토리에 복사
<copy todir="../dest/dir">
<fileset dir="src_dir">
<exclude name="**/*.java"/>
</fileset>
</copy>
<copy todir="../dest/dir">
<fileset dir="src_dir" excludes="**/*.java"/>
</copy>
파일 집합을 디렉토리에 복사하며 파일명 끝에 .bak을 추가하여 복사
<copy todir="../backup/dir">
<fileset dir="src_dir"/>
<globmapper from="*" to="*.bak"/>
</copy>
파일집합을 디렉토리에 복사하며 파일집합중 TITLE 이란 STRING을 Foo Bar로 대체하며 복사
<copy todir="../backup/dir">
<fileset dir="src_dir"/>
<filterset>
<filter token="TITLE" value="Foo Bar"/>
</filterset>
</copy>
③ 속성
속성 | 설명 | 필수여부 |
file | 복사할 파일 | fileset tag를 사용하지 않는다면 필수 |
preservelastmodified |
소스와 타겟의 최종 수정날짜 파일을 유지하며 복사한다 기본값은 false |
No |
tofile | 복사할 소스파일 | fileset tag와 함께 소스 및 타겟을 지정할수있다 |
todir | 복사할 소스 디렉토리 | |
overwrite | 타겟의 파일이 최근의 파일이라도 덮어쓸지 여부를 나타내며 기본값은 false | No |
filtering |
복사하는동안 filter를 사용할것인지 여부를 나타내며 기본값은 false 단 이 값이 false일지라도 nested 하게 <filterset>을 사용할수 있다 |
No |
flatten |
소스 디렉토리의 구조를 무시하고 특정 디렉토리 한곳에 모든 파일을 복사할지 여부를 나타내며 기본값은 false |
No |
includeEmptyDirs |
<fileset>을 지정하여 복사될 디렉토리중에 파일이 없는 비어있는 디렉토리까지 복사할지 여부를 나타내며 기본값을 true |
No |
failonerror |
복사중 에러가 발생할때 false이면 warning 메세지 로그를, 그렇지 않으면 build시 중지한다 기본값은 true |
No |
verbose | 복사되고 있는 파일의 로그 여부를 나타내며 기본값은 false | No |
encoding |
필터 복사중 사용할 encoding을 나타내며 기본값은 JVM 기본 encoding을 따른다 (ant 1.5 이후) |
No |
outputencoding |
파일기록에 사용할 encoding을 나타낸다 (ant 1.6이후) |
No |
enablemultiplemappings |
true면 주어진 소스 path에대해 모든 mapping 처리를 하며 false이면 첫번째 파일이나 디렉토리에 대해서만 mapping 처리를 한다 이 속성은 <mapper> subelement가 있을때만 관련있다 기본값은 false (ant 1.6이후) |
No |
granularity |
최근 수정된 시간을 기준으로 파일을 비교 복사시 기준이 되는 시간으로부터 여유분 시간을 나타낸다 즉 소스 파일 서버와 타겟 파일 서버가 다른경우 두 머신간에 시간차이가 있을 수 있기 때문에 이를 사용한다 (ant 1.6.2 이후) |
2. <delete>
① 개요
-. 하나의 파일, 하나의 디렉토리 혹은 fileset으로 지정한 특정한 파일들을 삭제할수 있다
② 사용예제
하나의 파일을 삭제
<delete file="/lib/ant.jar"/>
하나의 디렉토리를 삭제 (이하 디렉토리 및 파일 모두 삭제됨)
<delete dir="lib"/>
현재 디렉토리로 부터 모든 파일중 .bak 파일은 모두 삭제
<delete>
<fileset dir="." includes="**/*.bak"/>
</delete>
하나의 디렉토리를 삭제하며 빈 디렉토리라도 모두 삭제 (build 자신의 디렉토리도 삭제)
<delete includeEmptyDirs="true">
<fileset dir="build"/>
</delete>
build 이하 모든 파일을 삭제하며 빈 디렉토리라도 모두 삭제 (build 자신의 디렉토리는 삭제되지 않음)
<delete includeemptydirs="true">
<fileset dir="build" includes="**/*"/>
</delete>
③ 속성
속성 | 설명 | 필수사항 |
file |
삭제할 파일 (상대경로나 절대경로나 상관없음) |
<fileset>을 사용하지 않는다면 file혹은 dir둘중 하나는 사용하여야 한다 |
dir |
삭제할 디렉토리 |
|
verbose |
각 삭제되는 파일의 이름을 보져줄 것인지 여부를 나타내며 기본값은 false |
No |
quiet |
시스템이 사용하고 있어 삭제할수 없는 파일이거나 존재하지 않는 파일, 디렉토리등의 메세지를 나태낼지 여부를 나타내며 기본값은 false |
No |
failonerror |
파일 삭제시 에러가 발생하면 build를 중단 하고 현재 사항을 레포팅해줄지 여부를 나타내며 기본값은 true |
No |
includeemptydirs | fileset을 사용할 때 빈 디렉토리empty directory)를 삭제할 것인지 여부를 나타내며 기본값은 false | No |
includes | Deprecated. Use <fileset>. | No |
includesfile | Deprecated. Use <fileset>. | No |
excludes | Deprecated. Use <fileset>. | No |
excludesfile | Deprecated. Use <fileset>. | No |
defaultexcludes |
Deprecated. Use <fileset>. 기본값은 true |
No |
deleteonexit |
파일 삭제시 실패했을때 JVM이 종료될 때 이 파일을 지우도록 할것인지 여부를 나타내며 기본값은 false (ant 1.6.2 이후) |
No |
3. <mkdir>
① 설명
-. 디렉토리를 생성
② 사용예제
"${dist}" 디렉토리를 생성한다
<mkdir dir="${dist}"/>
"${dist}/lib" 디렉토리를 생성한다
<mkdir dir="${dist}/lib"/>
③ 속성
속성 | 설명 | 필수여부 |
dir | 생성할 디렉토리 | Yes |
4. <move>
① 설명
-. 파일 혹은 디렉토리를 타겟으로 이동시킵니다 디폴트로 타겟에 이미 파일이 존재하면 덮어씁니다.
② 사용예제
하나의 파일을 이동시킵니다 (rename과 동일)
<move file="file.orig" tofile="file.moved"/>
하나의 파일을 디렉토리로 이동시킵니다
<move file="file.orig" todir="dir/to/move/to"/>
디렉토리를 새로운 디렉토리로 이동시킵니다
<move todir="new/dir/to/move/to">
<fileset dir="src/dir"/>
</move>
위의 task와 동일하며 ant 1.6.3부터 지원합니다
<move file="src/dir" tofile="new/dir/to/move/to"/>
파일집합을 새로운 디렉토리로 이동시킵니다
<move todir="some/new/dir">
<fileset dir="my/src/dir">
<include name="**/*.jar"/>
<exclude name="**/ant.jar"/>
</fileset>
</move>
.bak을 제외한 모든 파일에 .bak을 추가시키며 이동시킵니다
<move todir="my/src/dir" includeemptydirs="false">
<fileset dir="my/src/dir">
<exclude name="**/*.bak"/>
</fileset>
<mapper type="glob" from="*" to="*.bak"/>
</move>
③ 속성
-. delete 속성과 동일합니다
III. java 태그
1. <javac>
① 설명
-. 자바소스를 컴파일 하는 tag입니다
기본적으로 타겟에 특정 .java에 대해 .class 파일이 없거나 오래된 .class 파일이면 컴파일 대상입니다
② 사용예제
<path id="compile.classpath">
<pathelement location="${catalina.home}/common/classes"/>
<fileset dir="${web.home}/WEB-INF/lib">
<include name="*.jar"/>
</fileset>
</path>
가장 일반직인 컴파일 태그 compile.classpath 는 앞의 path 태그에서 정의됨
<javac srcdir="${src}"
destdir="${build}">
<classpath refid="compile.classpath"/>
</javac>
include, exclude, debug등을 포함한 컴파일 태그
<javac srcdir="${src}"
destdir="${build}"
includes="mypackage/p1/**,mypackage/p2/**"
excludes="mypackage/p1/testpackage/**"
classpath="xyz.jar"
debug=on"
/>
srcdir 대신 <scr> 태그를 이용한 컴파일 태그
<javac destdir="${build}"
classpath="xyz.jar"
debug=on">
<src path="${src}"/>
<src path="${src2}"/>
<include name="mypackage/p1/**"/>
<include name="mypackage/p2/**"/>
<exclude name="mypackage/p1/testpackage/**"/>
</javac>
③ 속성
width=20%>속성 | 설명 | 필수여부 |
srcdir | 자바 소스가 위치한 디렉토리 |
Yes <src>가 존재하면NO |
destdir | 컴파일된 클래스파일이 위치할 디렉토리 | No |
includes | 컴마나 스페이스로 구분된 파일집합의 패턴을 포함하여 컴파일하며 모든 파일을 사용하려면 생략한다 | No |
includesfile | 각각 개개의 파일을 포함하여 컴파일 | No |
excludes | 컴마나 스페이스로 구분된 파일의 패턴을 제외하하여 컴파일하며 생략하면 어떠한 디렉토리도 제외하지 않는다 | No |
excludesfile | 각각 개개의 파일을 제외하여 컴파일 | No |
classpath | 사용할 클래스 패스 | No |
sourcepath |
사용할 소스패스이며 기본값은 srcdir 값이다 |
No |
bootclasspath | bootstrap 클래스 패스 | No |
classpathref | 참조를 통해 사용할 클래스 패스 (refid를 이용한 path 태그) | No |
sourcepathref | 참조를 통해 사용할 소스 패스 | No |
bootclasspathref | 참조를 통해 사용할 bootstrap 패스 | No |
extdirs | 사용할 extednsion이 위치한 경로 (${java_home}/lib/ext/를 말하는것 같음) | No |
encoding | 소스파일에 사용할 encoding (javac의 -encoding과 동일) | No |
nowarn |
컴파일시 -nowarn 옵션을 을 줄지 여부를 나타내며 기본값은 off 반대값은 on |
No |
debug | 컴파일시 debug 모드로 컴파일 하며 기본값은 off | No |
optimize | 컴파일시 optimize 옵션을 사용한다 기본값은 off | No |
deprecation | 컴파일시 deprecation 옵션을 사용한다 기본값은 off | No |
target | 특정 VM 버젼으로 컴파일 할수 있도록 한다 | No |
verbose |
컴파일시 그 내용을 화면에 출력한다 기본값은 no |
No |
depend |
이를 지원하는 컴파일러는 dependecy-tracking를 가능하게 한다 |
No |
includeAntRuntime |
ant run time library를 포함하여 컴파일하며 기본값은 yes |
No |
includeJavaRuntime |
VM이 실행될때의 run time library를 포함하여 컴파일하며 기본값은 no |
No |
fork | 외부의 JDK를 사용하여 컴파일 하며 기본값은 no | No |
executable |
fork를 yes로 하였을경우 javac가 실행될 경로를 나타내며 기본값으로는 ant에서 현재 사용중인 java version의 컴파일러를 나타낸다 |
No |
memoryInitialSize |
VM내에서 초기 메모리 사이즈를 설정하며 기본값은 VM에 설정된 기본값을 사용한다 |
No |
memoryMaximumSize | VM내에서 최대 메모리 사이즈를 설정 | No |
failonerror |
컴파일시 에러가 발생하였을 경우 계속 진행할지 여부를 나타내며 기본값은 true |
No |
source | -source 옵션을 이용하여 컴파일 한다 | No |
compiler |
사용할 컴파일러 설정 list |
No |
listfiles |
컴파일 되는 소스파일들을 list할지 여부를 나타내며 기본값은 no |
No |
tempdir |
ant가 사용하는 임시디렉토리 기본값은 java.io.tmpdir (ant 1.6이후) |
No |
2. <javadoc>
① 개요
-. 자바 소스 파일로 부터 javadoc API 문서를 생성한다
② 사용예제
간단한 사용예
<javadoc sourcepath="${src.home}"
destdir="${dist.home}/docs/api"
packagenames="*">
<classpath refid="compile.classpath"/>
</javadoc>
아래 3가지 사용예는 동일한 의미이다
<javadoc
packagenames="com.dummy.test.*"
sourcepath="src"
excludepackagenames="com.dummy.test.doc-files.*"
defaultexcludes="yes"
destdir="docs/api"
author="true"
version="true"
use="true"
windowtitle="Test API">
<doctitle><![CDATA[<h1>Test</h1>]]></doctitle>
<bottom><![CDATA[<i>Copyright © 2000 Dummy Corp. All Rights Reserved.</i>]]></bottom>
<tag name="todo" scope="all" description="To do:"/>
<group title="Group 1 Packages" packages="com.dummy.test.a*"/>
<group title="Group 2 Packages" packages="com.dummy.test.b*:com.dummy.test.c*"/>
</javadoc>
<javadoc
destdir="docs/api"
author="true"
version="true"
use="true"
windowtitle="Test API">
<packageset dir="src" defaultexcludes="yes">
<include name="com/dummy/test/**"/>
<exclude name="com/dummy/test/doc-files/**"/>
</packageset>
<doctitle><![CDATA[<h1>Test</h1>]]></doctitle>
<bottom><![CDATA[<i>Copyright © 2000 Dummy Corp. All Rights Reserved.</i>]]></bottom>
<tag name="todo" scope="all" description="To do:"/>
<group title="Group 1 Packages" packages="com.dummy.test.a*"/>
<group title="Group 2 Packages" packages="com.dummy.test.b*:com.dummy.test.c*"/>
</javadoc>
<javadoc
destdir="docs/api"
author="true"
version="true"
use="true"
windowtitle="Test API">
<fileset dir="src" defaultexcludes="yes">
<include name="com/dummy/test/**"/>
<exclude name="com/dummy/test/doc-files/**"/>
</fileset>
<doctitle><![CDATA[<h1>Test</h1>]]></doctitle>
<bottom><![CDATA[<i>Copyright © 2000 Dummy Corp. All Rights Reserved.</i>]]></bottom>
<tag name="todo" scope="all" description="To do:"/>
<group title="Group 1 Packages" packages="com.dummy.test.a*"/>
<group title="Group 2 Packages" packages="com.dummy.test.b*:com.dummy.test.c*"/>
</javadoc>
③ 속성
속성 | 설명 | 사용범위 | 필수여부 |
sourcepath | 자바 소스 위치 | all | At least one of the three or nested<sourcepath>,<fileset> or<packageset> |
sourcepathref | 참조된 경로 아이디를 사용하여 소스위치를 지정 (path 의 refid를 사용) | all | |
sourcefiles | 컴마로 구분하여 소스 파일을 지정 | all | |
destdir | 결과물(java docs) 디렉토리를 지정 | all | Yes, unless a doclet has been specified. |
maxmemory |
javadoc VM에 할당할 최대 메모리 사이즈 |
all | No |
packagenames |
컴마로 구분된 패키지 파일 목록 ("*"로 끝나면 하위 패키지까지 모두 javadoc으로 처리한다) |
all | No |
packageList | 처리할 패키지를 포함하고있는 파일명 | all | No |
classpath | 사용할 클래스 패스 | all | No |
Bootclasspath |
사용할 bootstrap 클래스 패스 |
all | No |
classpathref | 참조된 경로 아이디를 사용하여 클래스 패스를 지정 (path 의 refid) | all | No |
bootclasspathref | 참조된 경로 아이디를 사용하여 bootstrap classpath를 지정 | all | No |
Extdirs | 설치된 extension 위치 | all | No |
Overview |
HTML 문서로부터 overview 문서를 읽어온다 |
all | No |
access |
Access mode를 지정한다 public, protected, package, private 중 하나의 값을 가지며 기본값은 protected이다 |
all | No |
Public | 생성된 문서에 public 클래스와 멤버만 보여준다 | all | No |
Protected | 생성된 문서에 protected/public 클래스와 멤버만 보여준다 | all | No |
Package | 생성된 문서에 package/protected/public 클래스와 멤버만 보여준다 | all | No |
Private | 생성된 문서에 모든 클래스와 멤버를 보여준다 | all | No |
Old | jdk 1.1 버젼으로 문서를 생성한다 | 1.2 | No |
Verbose | javadoc을 생성하는동안 메세지를 화면에 출력한다 | all | No |
Locale |
사용할 Locale 을 지정한다 (en_US, en_US_WIN, ko_KR) |
all | No |
Encoding | 소스파일 encoding 이름 | all | No |
Version | @version 단락을 포함한다 | all | No |
Use | 클래스와 패키지 사용법에 대한 페이지를 생성한다 | all | No |
Author | @author 단락을 포함한다 | all | No |
Splitindex | Split index into one file per letter | all | No |
Windowtitle | 생성된 문서의 브라우져 타이트을 지정한다 (텍스트) | all | No |
Doctitle |
패키지 인덱스 페이지에 대한 타이틀을 지정한다 (html 코드) |
all | No |
Header |
각페이지에대한 헤더부분을 지정한다 (html 코드) |
all | No |
Footer | 각페이지에대한 푸터부분을 지정한다 (html 코드) | all | No |
bottom | 각페이지에대한 버텀부분을 지정한다 (html 코드) | all | No |
link |
주어진 URL로 javadoc 출력물에 link를 생성한다 |
all | No |
linkoffline | Link to docs at <url> using package list at <url2> - separate the URLs by using a space character -- see also the nestedlink element. | all | No |
group | 특정 패키지들에 대한 overview 페이지를 생성한다 | all | No |
nodeprecated | @deprecated 정보를 포함하지 않는다 | all | No |
nodeprecatedlist | deprecated 목록을 생성하지 않는다 | all | No |
notree | 클래스 하이라키를 생성하지 않는다 | all | No |
noindex | 인덱스를 생성하지 않는다 | all | No |
nohelp | 도움말 link를 생성하지 않는다 | all | No |
nonavbar | 네비게이션 바를 생성하지 않는다 | all | No |
serialwarn | @serial tag 대한 warning을 생성한다 | all | No |
helpfile | help 파일로 사용될 HTML 파일을 지정한다 | all | No |
stylesheetfile | CSS 로 사용할 파일을 지정한다 | all | No |
charset | 문서를 생성할때 사용될 charset을 지정한다 | all | No |
docencoding | 결과 파일(문서)에 사용될 encoding을 지정한다 | all | No |
doclet |
doclet을 시작하는 클래스 파일을 지정한다 |
all | No |
docletpath |
doclet 클래스 패스를 지정한다 |
all | No |
docletpathref | 참조 아이디값을 이용해 docletpath를 지정한다 | all | No |
additionalparam |
javadoc 명령에서 추가적인 파라미터를 추가하도록 한다 |
all | No |
failonerror |
에러 발생시 build 중단할지 여부를 나타낸다 |
all | No |
excludepackagenames | 문서를 생성하지 않을 패키지를 컴마로 구분하여 지정한다ment. | all | No |
defaultexcludes |
기본적으로 제외되는 목록을 사용할 것인지 여부를 나타낸다 |
all | No |
useexternalfile |
명령줄을 간단히하기위해 임시파일에 기록된 소스파일명을 지정한다 기본값은 No |
all | No |
source |
j2se 1.4 소스코드에 나타난 주장을 처리하도록 javadoc에서 설정한다 |
1.4+ | No |
linksource |
소스파일에 hyperlinks 생성한다 기본값은 No (ant 1.6이후) |
1.4+ | No |
breakiterator |
새로운 breakiterator 알고리즘을 사용한다 기본값은 No (ant 1.6이후) |
1.4+ | No |
noqualifier |
-noqualifier 옵션을 설정한다 (ant 1.6이후) |
1.4+ | No |
includenosourcepackages |
"true"이면 자바소스가 아닌 패키지된 html을 가지고 문서 생성이 한다 (ant 1.6.3이후) |
all | No (default isfalse) |
executable |
실행될 javadoc 위치를 지정한다 (ant 1.6이후) |
all | No |
3. <war>
① 개요
-. 웹 어플리케이션 배포 파일인 war 파일을 생성해 준다
② 사용예제
thirdparty/libs/jdbc1.jar
thirdparty/libs/jdbc2.jar
build/main/com/myco/myapp/Servlet.class
src/metadata/myapp.xml
src/html/myapp/index.html
src/jsp/myapp/front.jsp
src/graphics/images/gifs/small/logo.gif
src/graphics/images/gifs/large/logo.gif
위의 파일을 WAR로 구성해 보자
<war destfile="myapp.war" webxml="src/metadata/myapp.xml">
<fileset dir="src/html/myapp"/>
<fileset dir="src/jsp/myapp"/>
<lib dir="thirdparty/libs">
<exclude name="jdbc1.jar"/>
</lib>
<classes dir="build/main"/>
<zipfileset dir="src/graphics/images/gifs"
prefix="images"/>
</war>
WAR task 후 다음과 같이 구성된다
WEB-INF/web.xml
WEB-INF/lib/jdbc2.jar
WEB-INF/classes/com/myco/myapp/Servlet.class
META-INF/MANIFEST.MF
index.html
front.jsp
images/small/logo.gif
images/large/logo.gif
③ 속성
속성 | 설명 | 필수여부 |
destfile | 생성될 WAR 파일 지정 | 둘중 하나는 필수 |
warfile | Deprecated | |
webxml | 사용할 deployment descriptor (WEB-INF/web.xml)를 지정 | Yes |
basedir | jar파일로 압축할 디렉토리를 지정한다 | No |
compress |
data를 압축할지 여부를 나타내며 기본값은 true이다 keepcompression 속성을 false로 했을지라도 이는 적용된다 |
No |
keepcompression |
이미 존재하는 파일 묶음에 대해 compress을 계속 유지할 것인지 여부를 나타내며 기본값은 fale 이다 (ant 1.6이후) |
No |
encoding |
압축될 파일명에 사용할 encoding을 지정한다 기본값은 UTF8 |
No |
filesonly |
Store only file entries 기본값은 false |
No |
includes | 지정된 컴마나 스페이스로 구분된 파일 패턴을 WAR에 포함하며 생략하면 모든 파일을 WAR한다 | No |
includesfile | 지정된 개개의 파일을 WAR에 포함한다 | No |
excludes | 지정된 컴마나 스페이스로 구분된 파일 패턴을 WAR에서 제외시키며 생략하면 어떠한 파일로 제외하지 않는다 | No |
excludesfile | 지정된 개개의 파일을 WAR에서 제외시킨다 | No |
defaultexcludes | 기본적으로 제외시키는 기능을 사용할것인지 여부를 나타낸다 | No |
manifest | 사용할 manifest 파일을 지정한다 | No |
update | 이미 존재하는 파일이라면 업데이트할지 덮어쓸지를 결정하며 기본값은 false이다 | No |
duplicate |
중복된 파일이 나타났을 때 "add"할지 "preserve"할지 혹은 "fail"할지를 지정하며 기본값은 "add"이다 |
No |
roundup |
파일 시간 비교시 파일 변경 시간을 다음 짝수 횟수의 초(seconds)에 반올림 할지 혹은 내림할지 여부를 나타낸다 기본값은 true |
No |
from http://ant.apache.org/manual/index.html
=============================================
본문서는 자유롭게 배포/복사 할수 있지만
이문서의 저자에 대한 언급을 삭제하시면 안됩니다
저자 : GoodBug (unicorn@jakartaproject.com)
최초 : http://www.jakartaproject.com
=============================================
'LANG > java' 카테고리의 다른 글
javax.net.ssl.SSLHandshakeException: DH ServerKeyExchange does not comply to algorithm constraints (0) | 2023.09.18 |
---|---|
Code Conventions (0) | 2020.04.27 |
java / iBatis 에서 여러 query 한번에 실행 트랜잭션 내에 포함 (0) | 2020.04.24 |
java / sendmail (0) | 2020.04.19 |
java / encodingTest (0) | 2020.04.16 |