主頁(yè) > 知識(shí)庫(kù) > Eclipse中使用ANT

Eclipse中使用ANT

熱門(mén)標(biāo)簽:淮南騰訊地圖標(biāo)注 開(kāi)封便宜外呼系統(tǒng)報(bào)價(jià) 漯河辦理400電話 黃石智能營(yíng)銷(xiāo)電銷(xiāo)機(jī)器人效果 電話機(jī)器人的特色和創(chuàng)新 騰訊地圖標(biāo)注商戶改名注冊(cè)入駐 商丘百應(yīng)電話機(jī)器人有沒(méi)有效果 怎樣把地圖標(biāo)注出來(lái) 地圖標(biāo)注人員兼職
前言

  ant是java開(kāi)發(fā)者工具箱的重要一環(huán),junit,xdoclet等都與它緊密關(guān)聯(lián),程序員可能習(xí)慣了IDE提供的自動(dòng)構(gòu)建,甚至部署的功能,從而忽略了ant本身,其實(shí),主流的IDE通常是內(nèi)置ant任務(wù)來(lái)完成這些工作的,熟悉ant內(nèi)在的機(jī)理,可以閱讀或簡(jiǎn)單修改build.xml無(wú)疑可以幫助你更靈活地集成、管理應(yīng)用項(xiàng)目,如果需要學(xué)習(xí)maven這種開(kāi)源項(xiàng)目管理解決方案,也是要以理解ant為基礎(chǔ)的喲。另外,使用ant的過(guò)程實(shí)際上對(duì)構(gòu)建進(jìn)行了文檔化,它是無(wú)關(guān)于IDE的,想象一下,你的同事中可能三分之一在用JbuilderX,三分之一用eclipse,還有一些是別的。

  本人使用eclipse3.0.1,以前的構(gòu)建和發(fā)布工作都由myeclipse插件作了,趁周末實(shí)踐了一下手動(dòng)構(gòu)建,記此備忘。

  實(shí)踐

  準(zhǔn)備工作:這是我的個(gè)人習(xí)慣,把所有公用的類(lèi)庫(kù)jar置于一個(gè)固定目錄,分好類(lèi),不要丟在一個(gè)文件夾下,如jakarta-commons、hibernate、spring、struts等,這些是源碼構(gòu)建時(shí)需要用到的,在部署時(shí)可能有一些不用再打進(jìn)去了,比如servlet.jar。如果你們有自己的framework,也一并放在這里。然后,打開(kāi)eclipse,進(jìn)入Windows->Preferences->Java->User Libraries,增加一個(gè)自己的庫(kù),比如說(shuō)mylib,把剛才那些公共的jar全部添入,這樣有個(gè)好處,在eclipse項(xiàng)目中,不用再看到煩人的長(zhǎng)長(zhǎng)的jar列表了,比較整潔。

  下來(lái)正式進(jìn)行:

  1.新建一個(gè)Java Project,此時(shí)就不要再選你的j2ee插件內(nèi)置的一些選項(xiàng)了,至簡(jiǎn)即可。

  2.在root下建幾個(gè)文件夾,我們?cè)诰W(wǎng)上下載的開(kāi)源項(xiàng)目中經(jīng)??梢钥吹竭@些,比如:

  src - 源碼
  classes - 編譯
  web - jsp等
  lib - 庫(kù),這里可以簡(jiǎn)單地把mylib下的東東copy過(guò)來(lái),便于將來(lái)發(fā)布源碼。
  dlist - 輸出的jar或war

  當(dāng)然,我們要建一個(gè)build.xml,eclipse中會(huì)出現(xiàn)一個(gè)螞蟻的小圖標(biāo),一般這個(gè)文件建立后,下一個(gè)項(xiàng)目簡(jiǎn)單的copy過(guò)去,稍加改動(dòng)就可以了。

  3.打開(kāi)項(xiàng)目的屬性頁(yè),在Java Build Path的庫(kù)選項(xiàng)中,加入我們自定義的公共庫(kù)mylib.至于Builders方式就不用改了,使用默認(rèn)的Java Builer即可,我只是項(xiàng)目部署時(shí)使用ant,平常的排錯(cuò)工作就交給IDE吧。

  4.重中之重,寫(xiě)你的build.xml,網(wǎng)上文章很海,我這里就不再啰嗦了,基本上就分那幾個(gè)任務(wù):

  4.1 先要聲明一些路徑變量,如

 ?。紁roperty name="war.dir" value="dlist" />

  也可以將其寫(xiě)至properties文件中,在這里引用;

  4.2 聲明編譯的類(lèi)路徑,如下:

 ?。紁ath id="master-classpath">
 ?。糵ileset dir="${lib.root}/struts">
 ?。糹nclude name="struts-menu-2.3.jar" />
 ?。糹nclude name="struts.jar" />
  </fileset>
 ?。糵ileset dir="${lib.root}/jakarta-commons">
 ?。糹nclude name="commons-*.jar" />
 ?。?fileset>
  <fileset dir="${lib.root}/ibatis2.0.9">
 ?。糹nclude name="ibatis-*.jar" />
 ?。?fileset>
  <fileset dir="${lib.root}/jdbcdriver">
 ?。糹nclude name="jtds-0.9-rc2.jar" />
 ?。?fileset>s
  ......
  </path>

  4.3 清空輸出目錄,如web,dlist等。

  4.4 編譯構(gòu)建:

 ?。紅arget name="build" description="Compile main source tree java files into class files, generate jar files">

 ?。糾kdir dir="${build.dir}" />

 ?。糺avac destdir="${build.dir}" source="1.3" target="1.3" debug="true" deprecation="false" optimize="false" failonerror="true">
 ?。約rc path="${src.dir}" />
 ?。糲lasspath refid="master-classpath" />
 ?。?javac>

 ?。糲opy todir="${build.dir}" preservelastmodified="true">
 ?。糵ileset dir="${src.dir}">
 ?。糹nclude name="**/*.xml" />
  <include name="**/*.properties" />
 ?。?fileset>
 ?。?copy>
 ?。?-- ============================================= -->
  <!-- 據(jù)測(cè)試,資源文件不能被打到j(luò)ar文件中,其余均可 -->
 ?。?-- ============================================= -->
  <copy todir="${webclasses.dir}/conf" preservelastmodified="true">
 ?。糵ileset dir="${src.dir}/conf">
 ?。糹nclude name="springResources*.properties" />
 ?。?fileset>
 ?。?copy>

 ?。糾kdir dir="${weblib.dir}" />

  <jar jarfile="${weblib.dir}/${name}.jar" compress="true">
 ?。糵ileset dir="${build.dir}">
 ?。糹nclude name="**" />
 ?。?fileset>
 ?。?jar>

 ?。糲opy todir="${weblib.dir}" preservelastmodified="true">

 ?。糵ileset dir="${lib.root}">
 ?。糹nclude name="log4j-1.2.8.jar" />
  </fileset>
 ?。糵ileset dir="${lib.root}/struts">
 ?。糹nclude name="struts-menu-2.3.jar" />
 ?。糹nclude name="struts.jar" />
 ?。?fileset>
 ?。糵ileset dir="${lib.root}/jakarta-commons">
  <include name="commons-*.jar" />
 ?。?fileset>
  <fileset dir="${lib.root}/spring-1.1.3">
 ?。糹nclude name="spring.jar" />
 ?。糹nclude name="aopalliance.jar" />
 ?。?fileset>
  ......

 ?。?copy>

  </target>

 ?。?-- ============================================= -->
  <!-- Compile main Java sources and copy libraries -->
  <!-- ============================================= -->
 ?。紅arget name="warfile" description="Build the web application archive">

 ?。糾kdir dir="${dist.dir}" />
  <war warfile="${dist.dir}/${name}.war" basedir="${war.dir}" webxml="${war.dir}/WEB-INF/web.xml">
 ?。糹nclude name="*" />
 ?。糹nclude name="WEB-INF/*.*" />
  <exclude name="WEB-INF/web.xml" />
 ?。糹nclude name="WEB-INF/classes/*.*" />
  <include name="WEB-INF/lib/**" />
 ?。糴xclude name="**/.*" />
 ?。?war>

  </target>


  4.5 打成war

 ?。紅arget name="warfile" description="Build the web application archive">

  <mkdir dir="${dist.dir}" />
  <war warfile="${dist.dir}/${name}.war" basedir="${war.dir}" webxml="${war.dir}/WEB-INF/web.xml">
 ?。糹nclude name="*" />
 ?。糹nclude name="WEB-INF/*.*" />
 ?。糴xclude name="WEB-INF/web.xml" />
 ?。糹nclude name="WEB-INF/classes/*.*" />
  <include name="WEB-INF/lib/**" />
 ?。糴xclude name="**/.*" />
 ?。?war>

 ?。?target>

  4.6 把幾個(gè)任務(wù)串起來(lái),弄一個(gè)default target

 ?。紅arget name="all">
  <antcall target="clean" />
 ?。糰ntcall target="build" />
 ?。糰ntcall target="warfile" />
 ?。?target>

  打完收功。在實(shí)踐中發(fā)現(xiàn),一些配置文件,如struts-config.xml ibatis和spring的xml都可以打進(jìn)jar文件,spring資源文件好象不行,得單獨(dú)copy至WEB-INFclasses下,另外,你的web文件夾下,事先得放好web.xml,以及一些tld文件喲。

標(biāo)簽:大興安嶺 武威 鄭州 拉薩 紅河 馬鞍山 岳陽(yáng) 亳州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Eclipse中使用ANT》,本文關(guān)鍵詞  Eclipse,中,使用,ANT,Eclipse,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Eclipse中使用ANT》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于Eclipse中使用ANT的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章