用ant自動打增量包,全量包,打jar包
阿新 • • 發佈:2019-01-23
build.xml:
<?xml version="1.0" encoding="UTF-8" ?> <project name="eShop" default="release" basedir="."> <!-- .代表當前專案所在目錄即 F:\projects\eShop\ ,以下所有目錄都是相對於它的--> <!--專案打包後的目標位置--> <property name="createTarget" value="target" /> <property name="target" value="target/eShop" /> <!--java 原始檔目錄 --> <property name="srcDir" value="src" /> <!--java 編譯後class檔案目錄 --> <property name="buildDir" value="WebRoot/WEB-INF/classes" /> <!-- jar包檔名 --> <property name="jarFileName" value="test.jar" /> <!-- jar包存放位置--> <property name="jarFileLocation" value="target/eShop/WEB-INF/lib" /> <!--初始化目錄--> <target name="init" depends="clean"> <!-- <delete file="${jarFileLocation}/${jarFileName}" />--> <mkdir dir="${buildDir}" /> <mkdir dir="${jarFileLocation}" /> </target> <!--清除打包目錄--> <target name="clean"> <!-- target 的name命名無關緊要,主要是裡面的delete,mkdir,copy 等才是它執行的核心,當然為了易懂,命令還是清晰點 --> <delete dir="${createTarget}" /> </target> <!-- 建立時間戳 --> <tstamp /> <!-- 編譯java檔案到classes目錄下--> <target name="compile" depends="init"> <javac srcdir="${srcDir}" destdir="${buildDir}" includeantruntime="true" /> <!-- classpath 定義編譯需要的claspath,編譯src目錄下的java可能引用了其他的jar檔案,要不然會報錯 <classpath> <fileset dir="lib"> <include name="*.jar" /> </fileset> <fileset dir="lib2"> <include name="*.jar" /> </fileset> <fileset dir="."> <include name="${androidjar}" /> </fileset> </classpath>--> </target> <!-- 生成jar包 --> <target name="makeJar" depends="compile"> <jar jarfile="${jarFileLocation}/${jarFileName}" basedir="${buildDir}" excludes="" /> <!--定義jar檔案執行的主類,一般為main方法的類 <manifest> <attribute name="Main-Class" value="demo.SayHello" /> <attribute name="Class-Path" value="${libs}"> </attribute> </manifest>--> </target> <!--執行一下jar包,試試看效果--> <target name="run" depends="makeJar"> <!--其實這裡就是執行jar命令,注意fork一定加上,不然不起作用--> <java jar="${jarFileLocation}/${jarFileName}" fork="true"> </java> </target> <!-- 預設操作,釋出--> <target name="release" depends="makeJar"> <copy todir="${target}"> <!-- 只是包含目錄和檔案,不包含目錄下的檔案,**包含檔案及資料夾下的所有檔案 --> <fileset dir="WebRoot"> <include name="WEB-INF/customization/**" /> <include name="WEB-INF/jsp/**" /> <include name="resources/**" /> <include name="js/**" /> <include name="fusioncharts.jsp" /> <include name="header.jsp" /> <include name="highcharts.jsp" /> </fileset> </copy> </target> </project>
本機執行結果:
Buildfile: F:\projects\eShop\build.xml clean: [delete] Deleting directory F:\projects\eShop\target init: [mkdir] Created dir: F:\projects\eShop\target\eShop\WEB-INF\lib compile: makeJar: [jar] Building jar: F:\projects\eShop\target\eShop\WEB-INF\lib\test.jar release: [copy] Copying 611 files to F:\projects\eShop\target\eShop BUILD SUCCESSFUL Total time: 2 seconds