Ant Ant에서 "${java.class.path}"이 의미하는바

황제낙엽 2010.07.10 17:02 조회 수 : 56 추천:29

sitelink1  
sitelink2  
sitelink3 http://1 

***** Ant [build.xml] 파일에서 "${java.class.path}" 이 의미하는바 *****


이것은 Ant의 클래스패스를 나타낸다.
여기에는 %ANT_HOME%lib 아래의 *.jar파일과
시스템(OS)에서 클래스패스(CLASSPATH)로 잡은 것들이 포함된다.

Ant(build.xml을 실행하는)와 동일한 VM 위에서 작동하는 Task는
별도의 표시를 하지 않더라도 %ANT_HOME%lib 아래의 *.jar파일을
자동으로 인식하게 된다.

그러나, <java classname="***" fork="yes"> 처럼 별도의 VM을 띄워서
작동하게 되는 Task는 시스템 클래스패스(CLASSPATH)는 인식하지만
Ant가 추가로 잡은 클래스패스(%ANT_HOME%lib)는 인식하지 못한다.

따라서 for="yes"로 실행해야하는 태스크가 %ANT_HOME%lib 아래의 *.jar파일을
인식하기 위해서는 해당 태스크에 <classpath path="${java.class.path}"/>를
추가하는 것이 필요하다.

굳이 fork="yes"일 필요가 없는 태스크라면 fork="no"로 하거나 fork 옵션을
생략(default=no) 하는 것이 편리하다.