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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 完整的python專案例項-python完整專案Python
- 使用HBuilder將web專案打包成appUIWebAPP
- Rollup處理並打包JS檔案專案例項JS
- Ant Design Vue專案解析-前言Vue
- 前端專案打包前端
- 完整的python專案例項-《Python爬蟲開發與專案實戰》pdf完整版Python爬蟲
- springboot專案打包瘦身Spring Boot
- Nuitka 打包python專案UIPython
- electron打包vue專案Vue
- JAVA 專案 配合 Docker 打包JavaDocker
- Android Studio打包專案:APKAndroidAPK
- AndroidStudio專案打包成jarAndroidJAR
- 完整的python專案例項-Python例項練手專案彙總(附原始碼)Python原始碼
- 搭建Typescript+React專案模板(4) --- 專案打包TypeScriptReact
- 搭建Typescript+React專案模板(4) — 專案打包TypeScriptReact
- uni-app專案打包成apk(本地打包篇)APPAPK
- ant打包出現null returned: 1報錯Null
- Jenkins打包node專案步驟Jenkins
- Qt 專案的打包釋出QT
- java專案打包(maven+原生)JavaMaven
- Vue專案打包到django部署VueDjango
- mvn 建立java專案 web專案JavaWeb
- uni-app打包web專案(uni-app開發vue網頁應用)APPWebVue網頁
- 使用ant design Pro開發專案的小結
- vue 專案打包成apk(Hbuilder方案)VueAPKUI
- VS打包專案成.exe&.msi
- 如何打包部署一個tomcat專案Tomcat
- C#必備技能—專案打包C#
- AndroidStudio打包Library專案成jar包AndroidJAR
- Vue專案如何分環境打包Vue
- Laravel 完整開源專案大全Laravel
- 一個完整的scrapy 專案
- idea建立web專案IdeaWeb
- 專案策劃書案例
- PyQt5案例彙總(完整版)QT
- maven專案打包後war檔案丟失配置檔案Maven
- Vue SPA 專案webpack打包優化指南VueWeb優化
- ReactNative專案自動化打包釋出React
- SpringBoot專案如何打包部署到tomcat中去Spring BootTomcat