no-image

如何把maven專案轉換成web專案

                                    

新接手的一個專案,是maven專案,卻不是web專案,無法部署到tomcat上,在Jetty伺服器上啟動,平時執行倒也沒啥問題,但是有時候升級改造的時候,與生產環境用tomcat啟動不一樣,這樣就容易出一些問題,就上網搜尋如何把maven專案轉變成web專案,轉變方案很多,試了很多,專案在改造完之後總會報錯,總是一些細小的操作失誤導致的,總的來說,是別人的改造方案,個人感覺有問題,在這裡我分享下我是如何改造的,希望能幫助到需要的朋友。

一、修改.project檔案

進入專案根目錄,可看到.project檔案,開啟。找到<natures>…</natures>程式碼段,在該程式碼段中加入如下標籤內容並儲存:

<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>

二、轉換專案

右鍵專案,Configure–>Convert to Faceted Form,開啟後,介面如下:

右擊專案,選擇屬性(properties),找到project facets,點選Runtimes標籤選擇apache tomcat v6.0。

選中Project Facet中的Dynamic Web Module及Java和JavaScript三項,一般選的是Dynamic Web Module版本是3.0,然後點選ok。

三、調整專案結構

接下來觀察我們的專案結構,多了一個web content目錄

雖然此時我們可以釋出到tomcat中,但這不符合maven的結構,我們還要做如下修改

把上圖WebContent下面兩個目錄 META-INF ,WEB-INF 直接剪下到src/main/webapp目錄下,並刪掉WebContent目錄,那麼現在的專案結構如下圖:

四、修改專案部署釋出路徑

右鍵專案,屬性(Properties)–>Deployment Assembly,刪除test兩項以及WebContent,因為test是測試時使用,並不需要部署

五、新增src/main/webapp及Maven Dependencies的部署路徑

點選add,選擇Folder — 〉 next

在src下找到webapp目錄,然後finish

最後一步,我們要把當前的build path 指向 Maven Dependency, 直接點選add,選擇Java Build Path Entries 然後next

然後再點選finish,完成maven web專案的轉換,此時即可以把該專案部署到tomcat上。

完成後如下圖:

至此一個基於maven的webapp就建立好了,並可以直接從eclipse中釋出到tomcat中


(adsbygoogle = window.adsbygoogle || []).push({});

function googleAdJSAtOnload() {
var element = document.createElement(“script”);
element.src = “//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js”;
element.async = true;
document.body.appendChild(element);
}
if (window.addEventListener) {
window.addEventListener(“load”, googleAdJSAtOnload, false);
} else if (window.attachEvent) {
window.attachEvent(“onload”, googleAdJSAtOnload);
} else {
window.onload = googleAdJSAtOnload;
}