ant的高級使用,ant命令詳解,ant打包,ant編譯後打包去掉jar文件
在日常的項目開發中,我們可以經常性的需要打包測試,尤其是開發環境是windows,而實際環境則是linux。這樣的話,很多程序員要一會打一個包,一會打一個包,這些包可能會很大,實際上隻有代碼部分會變動,而jar包基本則不動。
當然很多人可能會說,自動化測試。很好的,我們今天要做的就是自動化測試的第一步。
這個時候我是可以使用ant來打包,去掉項目中的所有的jar文件。然後在項目的tomcat啟動時到特定的地點去加載jar文件。
這樣做,war包可能會隻有幾M,什麼更小。具體如何動態的加載jar文件,我們在下一章講解,這一章,我們先來看ant打包的build.xml配置。
看源代碼:
<?xml version="1.0" encoding="UTF-8" ?> <project name="nojar" default="deleteClasses" basedir="."> <property name="classes" value="build/classes" /> <property name="build" value="build" /> <property name="lib" value="WebRoot/WEB-INF/lib" /> <path > <fileset dir="${lib}"> <include name="*.jar" /> </fileset> </path> <!-- 刪除build路徑--> <target name="deleteBuild"> <delete dir="build" /> <copy todir="${classes}/com/herman/config"> <fileset dir="${basedir}/src/com/herman/config"> <include name="*" /> </fileset> </copy> </target> <!-- 建立build/classes路徑,並編譯class文件到build/classes路徑下--> <target name="compile" depends="deleteBuild"> <mkdir dir="${classes}" /> <javac srcdir="src" destdir="${classes}" includeantruntime="on" encoding="utf-8"> <classpath ref /> </javac> </target> <!-- 打war包--> <target name="war" depends="compile"> <war war webxml="WebRoot/WEB-INF/web.xml" encoding="utf-8"> <!-- 拷貝WebRoot下除了WEB-INF和META-INF的兩個文件夾--> <fileset dir="WebRoot" includes="**/*.jsp"></fileset> <!--<fileset dir="WebRoot" includes="**/*.*" excludes="META-INF,WEB-INF"/>--> <!-- 拷貝lib目錄下的jar包--> <!--<lib dir="${lib}" />--> <!-- 拷貝build/classes下的class文件--> <classes dir="${classes}" /> </war> </target> <!-- 刪除build/下的classes下的字節碼文件,減少war包的總大小--> <target name="deleteClasses" depends="war"> <!--<delete dir="${classes}"></delete>--> </target> </project>是不是很簡單,好吧,如果你認為本文還可以,請關注我的個人博客!
或者加入QQ群:135430763共同學習!
最後更新:2017-04-03 05:38:54
上一篇:
Swift構造器(Initializer)與析構器(Deinitializer)
下一篇:
puppet 利用 facter, 實現不同主機調用不同變量方法
機器學習知識圖譜
HTAP數據庫 PostgreSQL 場景與性能測試之 15 - (OLTP) 物聯網 - 查詢一個時序區間的數據
android 加載圖片輕鬆避免OOM(out of memory) 支持設置緩存大小,不再強製catch OOM
SDCC 2017·深圳站,業內頂尖架構師於數據技術專家分享幹貨實料
c:foreach遍曆和s:iterator遍曆異同
shiro
人類與機器人,如何能像朋友一樣愉快聊天?
[Android]代碼實現ColorStateList及StateListDrawable
android利用jdk製作簽名
暢想智能存儲,2017中國計算機大會“下一代數據中心存儲技術與係統”論壇舉行