카테고리 없음

JDK 1.7 Ant Build

역신 2024. 11. 17. 14:47
SMALL

build.xml
0.00MB

JDK 1.7 ==  apache-ant-1.9.0

JDK 1.8 ==  apache-ant-1.10.0

 

set JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8

set JAVA_HOME=C:\eGovFrameDev-3.10.0-64bit\jre1.8.0_391
set JAVA_HOME=C:\eGovFrameDev-3.10.0-64bit\jdk1.7.0_79
set JAVA_HOME=C:\eGovFrameDev-3.10.0-64bit\jdk1.8.0_202

 

Ant build를 위한 스크립트 생성

build.xml
<?xml version="1.0" encoding="UTF-8"?> 
<project name="test_compile" default="main" basedir="." xmlns:artifact="antlib:org.apache.maven.artifact.ant">

 <!-- property 정의 -->
 <property name="build.dir" location="target"/>
 <property name="build.dir.class" location="${build.dir}/classes"/>
 <property name="src.dir" location="src"/>
 <property name="lib.dir" location="src\main\webapp\WEB-INF\lib" />
 <property name="jar.output.dir" location="lib" />
 <property name="junit.output.dir" location="junitTestReport" />
 
 <!-- <target name="main" depends="import-dependency, makeJar, clean"/>  -->

 <target name="main" depends="import-dependency, makeJar ">
 </target>

 <!-- maven jar 파일 설정-->
 <path id="maven-ant-tasks.classpath" path="${lib.dir}/maven-ant-tasks-2.1.3.jar" />
    <typedef resource="org/apache/maven/artifact/ant/antlib.xml"
       uri="antlib:org.apache.maven.artifact.ant"
       classpathref="maven-ant-tasks.classpath" />

 
<artifact:pom id="pom" file="pom.xml"/>

  <artifact:dependencies filesetId="pom.fileset" pathId="pom.classpath" pomRefId="pom"/>

 <!-- maven에 dependency된 jar파일을 복사 -->
<target name="import-dependency" description="copy dependency jar file to lib" >
<copy todir="${lib.dir}">
   <fileset refid="pom.fileset"/>
   <mapper type="flatten"/>
   </copy>
</target> 
 

 <!-- compile java  prepare-->
 <target name="compile" depends="import-dependency">
  <javac srcdir="${src.dir}" destdir="${build.dir.class}" encoding="utf-8" includeantruntime="false">
   <classpath refid="pom.classpath" />
  </javac>
 </target>

 <!-- mkdir : classes patch -->
 <target name="prepare">
  <mkdir dir="${build.dir.class}"/>  
  <mkdir dir="${jar.output.dir}"/>
 </target>

 <!-- project jar file output -->
 <target name="makeJar" depends="compile">
  <jar jarfile="${jar.output.dir}/test_compile-1.0.war" basedir="${build.dir.class}"/>   
 </target>
 

 <target name="clean">
  <delete dir="${build.dir.class}"/>
 </target>

 <!-- properties file copy -->
 <copy todir="${build.dir.class}/com/test">
  <fileset dir="${src.dir}/main/resources">
   <include name="*.properties" />
  </fileset>  
 </copy> 
</project>

 

Pom.xml을 참조하는 디펜더시가 있는경우

maven-ant-tasks-2.1.3.jar 

파일을 다운로드 해야 한다.

 

 

WINDOW ,CMD에서 테스트

 

JDK = ANT

명령어 : ANT or ant clean compile

JDK 버전 이슈도 있지만 컴파일은 잘된다.

 

LIST