web專案ant打包完整案例
========================================================================================================
web專案ant打包完整案例
========================================================================================================
前兩週做的web專案要部署到伺服器上去,為了後續升級部署方便,決定採用Ant進行(開發用的myeclipse 8.5),ant打包測試也是在myeclipse上進行,build.xml測試完成後地透過本地配置的ant進行手工打包:ant -buildfile build.xml.下面將相關過程簡單總結如下:
(1)運用myeclipse對web專案打war包,觀察其他結構和組成,方便ant打包build.xml整理
圖1 web專案s2si結構
圖2 myeclipse打出war包總體結構
圖3.myeclipse打出war包WEB-INFO目錄結構
圖4.myeclipse打出war包WEB-INFO\classes目錄結構
(2)build.xml內容整理:
(3)本地安裝Ant並設定ANT_HOME和path:
(4)運用本地ant打包:
---->>打出war包檢視:
--->>
(5)問題及解決歸納總結:
A1.build.xml注意設定basedir:
--->>這裡basedir="."意思是基礎目錄是與build.xml同級目錄,比如說src或 s2si,後續新建目錄都是在此基礎上進行,為了方便打包,可以根據自己需要放置 build.xml,比如我就放在了工程s2si根目錄下.
A2.build.xml注意設定
打包是將編譯好的class檔案和相關配置檔案集體打包,所以應該選擇 "${build.dir}",開始自己犯錯basedir="${basedir}",直接導致打出的war包下 面很亂,即使打包過程沒出錯,但部署到tomcat上就會報一大堆問題.
A3.打包時需要注意編碼和jdk版本:
deprecation="false" optimize="false" failonerror="true" srcdir="${src.dir}" >
--->>字元編碼要和web專案編碼一致,jdk版本要和本地安裝版本一致.如果不致,myeclipse中執行build.xml打包編譯不過,本地手工ant打包會報如下錯:
eclipse 出現警告: [options] 未與 -source 1.6 一起設定引導類路徑.
A4.build.xml複製頁面檔案和配置檔案時注意excludes使用:
<!-- 複製原始碼目錄中所有的非java檔案 -->
<!-- WebRoot目錄中所有的非java檔案 -->
--->>說明:
${src.dir}=s2si/src
${webRoot.dir}=s2si/WebRoot
這裡需要注意的是要排除指定目錄中某些規則的檔案必須用:excludes="**/*.java"或excludes="**/*.class",**/*.*這是ant裡的規則,不是指兩級目錄後的規則篩選.
--->> classpath備忘:
這裡用classpath標籤,指定路徑時用classpathref還是用path還是用refid有不同的情況,這裡用的是refid,注意根據自己情況而定.
---->> ant打包核心build.xml內容如下:
<!-- 複製原始碼目錄中所有的非java檔案 -->
<!-- WebRoot目錄中所有的非java檔案 -->
--->>關於ant基礎知識和使用指南,請參見:
http://blog.itpub.net/29119536/viewspace-1203386/
--->>web專案打包指南請參見:
http://blog.itpub.net/29119536/viewspace-1204798/
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29119536/viewspace-1204798/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ant打包部署web工程Web
- ant:如何用ant將web project打包成war包WebProject
- 完整的python專案例項-python完整專案Python
- 使用HBuilder將web專案打包成appUIWebAPP
- Ant打包例項
- Rollup處理並打包JS檔案專案例項JS
- 利用ant編譯釋出打包jar檔案和打包api文件為rar檔案編譯JARAPI
- Springboot 整合 Mybatis 的完整 Web 案例Spring BootMyBatisWeb
- java專案打包Java
- 前端專案打包前端
- 完整的python專案例項-《Python爬蟲開發與專案實戰》pdf完整版Python爬蟲
- 使用ANT打包Android應用Android
- 什麼是Ant - 打包工具?
- electron打包vue專案Vue
- Ant Design Vue專案解析-前言Vue
- 利用Ant實現專案自動構建測試備份併發布到專案web(2) (轉)Web
- 利用Ant實現專案自動構建測試備份併發布到專案web(3) (轉)Web
- 利用Ant實現專案自動構建測試備份併發布到專案web(1) (轉)Web
- Android ant修改包名打包 (轉)Android
- 利用 ant 指令碼修改專案包名指令碼
- gradle專案打包jarGradleJAR
- JAVA 專案 配合 Docker 打包JavaDocker
- Nuitka 打包python專案UIPython
- 如何將web打包成jar檔案WebJAR
- JAVA_WEB專案之Lucene檢索框架入門案例JavaWeb框架
- 搭建Typescript+React專案模板(4) --- 專案打包TypeScriptReact
- 搭建Typescript+React專案模板(4) — 專案打包TypeScriptReact
- 完整的python專案例項-Python例項練手專案彙總(附原始碼)Python原始碼
- uni-app專案打包成apk(本地打包篇)APPAPK
- ant打包出現null returned: 1報錯Null
- android Ant 批量多渠道打包 總結!Android
- android 使用ANT批量打包apk步驟AndroidAPK
- Vue專案打包到django部署VueDjango
- springboot專案打包瘦身Spring Boot
- java專案打包(maven+原生)JavaMaven
- Qt 專案的打包釋出QT
- Android筆記之:App自動化之使用Ant編譯專案多渠道打包的使用詳解Android筆記APP編譯
- 一個完整的scrapy 專案