在日常的專案開發,經常需要我們可以打包測試。特別是,開發環境是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 id="compile.jar">
<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 refid="compile.jar" />
</javac>
</target> <!-- 打war包-->
<target name="war" depends="compile">
<war warfile="${build}/nojar.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>

是不是非常easy,好吧。假設你覺得本文還能夠,請關注我的個人部落格!

或增加QQ組:135430763共同學習!

版權宣告:本文部落格原創文章。部落格,未經同意,不得轉載。