1. 前言
在前面的章節(jié),我們介紹了如何通過 Eclipse 來創(chuàng)建 Java Web 項(xiàng)目了,在本章節(jié),我們來介紹一下在 Eclipse 中是如何以 WAR 文件的方式對(duì)我們的 Java Web 項(xiàng)目進(jìn)行導(dǎo)入導(dǎo)出。
2. 什么是WAR文件
通常,我們的 Java Web 項(xiàng)目包含了許多的靜態(tài)資源以及 Java 文件,當(dāng)我們需要把項(xiàng)目部署到 Web 服務(wù)器中的時(shí)候,我們需要對(duì)這些文件進(jìn)行一個(gè)整體的管理,而 WAR 文件(Web Archive files)就是一種較為常見的方式(隨著微服務(wù)的流行,也越來越多地使用 Jar 文件的方式了)。
WAR 文件其實(shí)可以看做是一個(gè)壓縮包,這個(gè)壓縮包能被 Web 服務(wù)器軟件如 Tomcat 所識(shí)別。所以一種常見的部署項(xiàng)目的方式就是把我們的整個(gè)項(xiàng)目打包為 WAR 文件然后放到 Tomcat 中。
要注意的是,WAR 文件除了項(xiàng)目中的資源文件外,必須還包括了一個(gè)特殊的文件,就是我們的 web.xml,它被稱為 Web 部署描述符文件(Web deployment descriptor file)。它包含項(xiàng)目的部署和項(xiàng)目設(shè)置的信息。
Eclipse 默認(rèn)提供了導(dǎo)入和導(dǎo)出 WAR 文件的工具。下面我們來介紹它們。
3. 導(dǎo)出 WAR 文件
把項(xiàng)目導(dǎo)出為 WAR 文件主要需要設(shè)置一下要導(dǎo)出的位置。
我們以前面章節(jié)創(chuàng)建的動(dòng)態(tài) Web 項(xiàng)目為例子,看看如何做。
首先右鍵點(diǎn)擊該項(xiàng)目,然后選擇 Export > WAR file,如下圖所示。
接著,在出現(xiàn)的導(dǎo)出窗口中,主要是填寫要導(dǎo)出到的目錄,這里保存到了桌面,接著下面是三個(gè)可選項(xiàng)通常,比如是否要根據(jù)特定的服務(wù)器進(jìn)行優(yōu)化,是否要導(dǎo)出源文件,是否覆蓋已存在的文件。這些都不是必須的,大家可以根據(jù)需要選擇。
通常如果是正式部署到線上的服務(wù)器中,我們不會(huì)勾選 Export source files。但由于我們后面還會(huì)介紹導(dǎo)入,所以這里把源文件也同時(shí)導(dǎo)出,如下圖所示:
點(diǎn)擊 Finish,我們的項(xiàng)目就會(huì)被打包為 WAR 文件,并保存到對(duì)應(yīng)的目錄了。如下圖所示:
4. 導(dǎo)入 WAR 文件
當(dāng)我們已經(jīng)有了一個(gè) WAR 文件,那么就可以導(dǎo)入到 Eclipse 中。
我們可以 Project Explorer 視圖的空白處,通過點(diǎn)擊鼠標(biāo)右鍵調(diào)出菜單,然后選擇 Import > WAR file 選項(xiàng),如下圖所示:
在導(dǎo)入窗口中,我們?cè)?WAR file 選項(xiàng)中選擇到我們需要導(dǎo)入的 WAR 文件。
接著對(duì)于 Web project 選項(xiàng),我們需要注意的是 Eclipse 會(huì)默認(rèn)創(chuàng)建一個(gè)和 WAR 文件同名的新的 Web 項(xiàng)目,而當(dāng)前我們已經(jīng)有一個(gè)同名的項(xiàng)目了,所以我這里加上一個(gè)2,以進(jìn)行區(qū)分。
接著是是目標(biāo)運(yùn)行環(huán)境的選擇,選擇到我們之前添加的 Tomcat 服務(wù)器即可。
如下圖所示:
點(diǎn)擊 Next 后是對(duì)于第三方庫的選擇,我們并沒有引入第三方庫所以是空的,如下圖所示:
現(xiàn)在,我們點(diǎn)擊 Finish 即可導(dǎo)入我們的 WAR 文件了,結(jié)果如下圖示:
5. 總結(jié)
本章節(jié)我們介紹了在 Eclipse 中把我們的 Java Web 項(xiàng)目進(jìn)行歸檔操作,也就是導(dǎo)入導(dǎo)出 WAR 文件的操作。