Language/Java
ant에서 이클립스 컴파일러를 사용하기
후늬뉨
2019. 4. 4. 17:12
1. eclipse 디렉토리의 plugins 디렉토리에서 org.eclipse.jdt.core_XXXXXX.jar 파일을 찾는다.
2. 이 jar 파일을 압축해제해서 jdtCompilerAdapter.jar 파일을 빼낸다.
3. ecj-4.2.1.jar 파일을 구한다. (maven repository에 있음)
4. jdtCompilerAdapter.jar, ecj-4.2.1.jar 이 2개의 파일을 ant가 설치된 디렉토리의 lib에 넣는다.
5. ant build 파일을 아래와 같이 수정한다.
<?xml version="1.0" encoding="UTF-8"?>
<project name="example" default="compile" basedir=".">
<description>example</description>
<property name="tomcat.home" value="d:/java/was/tomcat/6.0.9" />
<property name="deploy.home" value="../deploy/was" />
.
.
.
<property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter"/>
<path id="compile.classpath">
<fileset dir="../webapp/WEB-INF/lib">
<include name="*.jar" />
</fileset>
<fileset dir="${tomcat.home}/lib">
<include name="*.jar" />
</fileset>
</path>
<target name="init" description="초기화합니다.">
<delete dir="${deploy.home}/WEB-INF/classes"/>
<mkdir dir="${deploy.home}/WEB-INF/classes"/>
</target>
<target name="compile" depends="init" description="java 소스를 컴파일합니다.">
<!-- eclipse 컴파일러로 변경 -->
<javac
target="1.6" source="1.6"
srcdir="${src}" destdir="${deploy.home}/WEB-INF/classes"
debug="off" debuglevel="lines,vars,source" includeantruntime="false" nowarn="on" encoding="utf-8">
<classpath refid="compile.classpath" />
<!-- 별도의 컴파일러 옵션 추가 -->
<compilerarg compiler="org.eclipse.jdt.core.JDTCompilerAdapter" line="-preserveAllLocals"/>
</javac>
.
.
.
</target>
</project>