ant 학습 노트 의 입문 1

Apache Ant 는 자바 기반 생 성 도구 인 another neat tool 입 니 다.
일단 ANT 를 설정 해 야 되 는데... 먼저 가.http://ant.apache.orgjar 가방 다운로드.내 가 다운로드 한 것 은 Apache Ant 1.8.4. 다운로드 한 후에.압축 을 푼 후.그 를 자신의 디스크 에 넣 고 환경 변 수 를 설정 하 세 요.
컴퓨터, - > 속성 - > 고급 - > 환경 변수 - > 사용자 변수 에 path 가 있 습 니 다.편집, 압축 파일 을 풀 수 있 는 빈 경 로 를 복사 합 니 다. 주의: 안에 경로 가 있 으 면.직접 분점 으로 분리 하기;예.
D:\sdk\mySql\bin;D:\sdk\apache-ant-1.8.4-bin\bin
변 수 를 새로 만 듭 니 다: ANTHOME 이 변수의 값 은 압축 을 푼 디 렉 터 리 파일 의 위치 입 니 다. D: \ sdk \ apache - ant - 1.8.4 - bin (예).거의 다 됐어.
그리고 dos 명령 에 cmd 를 입력 하고 ANT 를 적 으 세 요.build. xml does not exist 가 나 타 났 습 니 다. 설정 이 성공 했다 는 것 을 설명 합 니 다.그리고ant 가 무엇 에 사용 할 수 있 는 지 알 아 보 겠 습 니 다.
1. ant 로 자바 류 를 컴 파일 하여 class 파일 을 생 성 할 수 있 습 니 다.  2. ant 는 태그, 프로필 을 사용자 정의 할 수 있 습 니 다.  3. ant 는 관련 층 의 프레임 을 가방 으로 구성 할 수 있다.  4. ant 는 전체 프로젝트 를 웹 패키지 로 만 들 고 Tomcat 에 발표 합 니 다. 
ant 는 자동 구축 도구 입 니 다.매우 민첩 하 다.ant 를 사용 하 는 주요 작업 은 xml 파일 을 설정 하 는 것 입 니 다.기본 값 은 build. xml 파일 입 니 다.my eclipse 에 build. xml 파일 을 새로 만 듭 니 다.그것 의 아이콘 은 다른 것 과 다르다.개미 다.개미
일단 저희 가 간단 한 ant 를 실현 해 보도 록 하 겠 습 니 다.
c 디스크 에 build. xml 파일 을 만 듭 니 다.
<?xml version="1.0" encoding="UTF-8"?>
<!--  <?xml         -->
<project default="second" name="my_ant">
	<!-- default          ,my_ant       second-->
	<description>helloword</description>
	<!--          ,      -->
	<property name="hello" value="welcome" />
	<!--      。   value      -->
	<target name="init" description="hellowrod" depends="sayHello">
		<mkdir dir="hello" />
		<!--mkdir         ,dir         -->
		<mkdir dir="word" />
		<mkdir dir="${hello}" />
		<!--${hello}             -->
	</target>
	<target name="second" depends="init">
		<!--depends:      ,        ,     inint    。     second     inin-->
		<delete dir="welcome" />
		<!--    -->
		<delete dir="hello" />
		<delete dir="word" />
	</target>
	<target name="sayHello">
		<echo message="hehe">,say hello!</echo>
	</target>
</project>

dos 명령 아래;cmd-->cd\
그리고 ant 를 실행 하면... 이것 이 표 시 됩 니 다.아무것도 없 었 어.만 들 자마자 삭 제 됐 으 니까.
Buildfile: D:\android\ant\demo\build.xml

init:
    [mkdir] Created dir: D:\android\ant\demo\hello
    [mkdir] Created dir: D:\android\ant\demo\word
    [mkdir] Created dir: D:\android\ant\demo\welcome

second:
   [delete] Deleting directory D:\android\ant\demo\welcome
   [delete] Deleting directory D:\android\ant\demo\hello
   [delete] Deleting directory D:\android\ant\demo\word

BUILD SUCCESSFUL
Total time: 0 seconds

build. xml 파일 이름 을 짓 고 싶 지 않 으 면 hello. xml 파일 의 ant 프로필 을 썼 습 니 다.운행 도 가능 합 니 다.ant - f hello. xml. 일반적인 상황 에서 우 리 는 이 이름 을 마음대로 바 꾸 지 않 습 니 다.ant 명령 을 실행 하 다.기본적으로 build. xml 파일 을 찾 습 니 다.할 수 있어. 안 티 니 트 면 돼.그 는 단지 이 목 표를 집행 할 수 있 을 뿐이다.
템 플 릿 첨부:
<?xml version="1.0" encoding="gb2312"?> 
<!-- 
             : 
 1.  java  ; 
 2.  java     javaDoc; 
 3.  java       ; 
 4.     java     junit     
 5. Vss      
--> 
<project name="Fog Project" default="all" basedir="."> 

   <!--      --> 
   <property environment="env"/> 
   <!--   junit   xsl     --> 
   <property name="junit.styleDir" value="${env.ANT_HOME}/etc"/> 
    
   <!--       --> 
   <property name="src.code" value="src"/> 
   <!--       junit   --> 
   <property name="src.junit" value="junit"/> 
   <!--         --> 
   <property name="lib.dir" value="lib"/> 
   <!--   jar   --> 
   <property name="lib.jar" value="fog.jar"/> 
    
   <!-- checkstyle configuration --> 
   <property name="checkstyle.config" value="${lib.dir}/checkstyle33.xml"/> 
   <!--   checkstyle xsl   --> 
   <property name="checkstyle.xsl" value="${lib.dir}/checkstyle-frames.xsl"/> 
   <taskdef resource="checkstyletask.properties" 
            classpath="${lib.dir}/checkstyle-all-3.3.jar"/> 
    
   <!-- VSS   --> 
   <property name="vss.ssdir" value="D:/vss"/> 
   <property name="vss.svrdir" value="Z:"/> 
   <property name="vss.path" value="/fog/implement"/> 
    
   <!--      --> 
   <property name="doc.dir" value="doc"/> 
   <property name="doc.api" value="${doc.dir}/api"/> 
   <!-- junit report --> 
   <property name="doc.junitReport" value="${doc.dir}/junitReport"/> 
   <!-- checkstyle report --> 
   <property name="doc.checkstyleReport" value="${doc.dir}/checkstyleReport"/> 
    
   <!--          --> 
   <property name="javadoc.package" value="fog.*"/> 
    
   <!--         --> 
   <property name="dist.root" value="projDist"/> 
   <property name="dist.proj" value="${dist.root}/proj"/> 
   <property name="dist.classes" value="${dist.proj}/classes"/> 
   <property name="dist.lib" value="${dist.proj}/lib"/> 
   <property name="dist.junit" value="${dist.root}/junit"/> 
    
   <!-- classpath --> 
   <path id="classpath"> 
       <fileset dir="${lib.dir}"> 
           <include name="**/*.jar"/> 
       </fileset> 
        
       <fileset dir="web/WEB-INF/lib"> 
           <include name="**/*.jar"/> 
       </fileset> 

       <fileset dir="${dist.lib}"> 
           <include name="**/*.jar"/> 
       </fileset> 

       <fileset dir="junit_lib"> 
           <include name="**/*.jar"/> 
       </fileset> 
   </path> 
    
   <target name="init"> 
       <mkdir dir="${doc.dir}"/> 
       <mkdir dir="${dist.root}"/> 
       <mkdir dir="${dist.proj}"/> 
       <mkdir dir="${dist.lib}"/> 
       <tstamp/> 
       <echo message="${TSTAMP}"></echo> 
   </target> 
    
   <target name="all" depends="compilesrc, javadoc, checkstyle"/> 
    
   <!--       --> 
   <target name="compilesrc" depends="init"> 
       <mkdir dir="${dist.classes}"/> 
        
       <javac destdir="${dist.classes}" deprecation="on"> 
           <src path="${src.code}"/> 
           <classpath refid="classpath"/> 
       </javac> 

       <jar jarfile="${dist.lib}/${lib.jar}" basedir="${dist.classes}"> 
           <include name="**/*.class"/> 
       </jar>       
   </target> 
    
   <!--    javadoc --> 
   <target name="javadoc" depends="init"> 
       <mkdir dir="${doc.api}"/> 
        
       <javadoc packagenames="${javadoc.package}" sourcepath="${src.code}" 
            private="yes" defaultexcludes="yes" destdir="${doc.dir}/api"> 
           <classpath refid="classpath"/> 
       </javadoc> 
   </target> 
    
   <!--    Junit   --> 
   <target name="compilejunit" depends="compilesrc"> 
       <mkdir dir="${dist.junit}"/> 
        
       <javac destdir="${dist.junit}" deprecation="on"> 
           <src path="${src.junit}"/> 
           <classpath refid="classpath"/> 
       </javac>         
   </target> 
    
   <!--   checkstyle       --> 
   <target name="checkstyle" depends="init"> 
       <mkdir dir="${doc.checkstyleReport}"/> 
        
       <checkstyle config="${checkstyle.config}"> 
           <fileset dir="${src.code}" includes="**/*.java"/> 
           <formatter type="plain"/> 
           <formatter type="xml" toFile="${doc.checkstyleReport}/checkstyle_report.xml"/> 
       </checkstyle> 
        
       <style in="${doc.checkstyleReport}/checkstyle_report.xml" out="${doc.checkstyleReport}/checkstyle_report.html" style="${checkstyle.xsl}"/> 
   </target> 
    
   <!--    junit  --> 
   <target name="junit" depends="compilejunit"> 
       <mkdir dir="${doc.junitReport}"/> 
       <copy todir="${dist.junit}"> 
           <fileset dir="junit_lib"> 
               <exclude name="**/*.jar"/> 
           </fileset> 

           <fileset dir="${src.code}"> 
               <include name="fog.hbm.xml"/> 
           </fileset> 
       </copy> 
        
       <junit printsummary="yes" haltonfailure="no"> 
           <classpath> 
               <path refid="classpath"/> 
               <pathelement location="${dist.junit}"/> 
           </classpath> 
            
           <formatter type="brief" usefile="false"/> 
           <formatter type="xml"/> 
        
           <batchtest todir="${doc.junitReport}"> 
               <fileset dir="${dist.junit}" includes="**/*Test.class" /> 
           </batchtest> 
       </junit> 

       <junitreport todir="${doc.junitReport}"> 
           <fileset dir="${doc.junitReport}"> 
               <include name="TEST*-*.xml"/> 
           </fileset> 
           <report format="frames" styledir="${junit.styleDir}" todir="${doc.junitReport}"/> 
       </junitreport> 
   </target> 

   <!--  Vss        --> 
   <target name="getVersion" depends=""> 
       <vssget 
               vsspath="${vss.path}" localpath="." login="codeline,codeline" 
               ssdir="${vss.ssdir}" serverPath="${vss.svrdir}" autoresponse="N" recursive="true" 
               quiet="true" /> 
   </target> 
    
   <!--       、junit   、   --> 
   <target name="clean"> 
       <delete dir="${dist.classes}"/> 
       <delete dir="${dist.junit}"/> 
       <delete dir="${doc.api}"/> 
       <delete dir="${doc.junitReport}"/> 
       <delete dir="${doc.checkstyleReport}"/> 
   </target> 
    
   <!--          --> 
   <target name="cleanall" depends="clean"> 
       <delete dir="${doc.dir}"/> 
       <delete dir="${dist.root}"/> 
   </target> 
</project>

http://blog.csdn.net/yy008871/article/details/7736685

좋은 웹페이지 즐겨찾기