Java開(kāi)發(fā)之普通web項(xiàng)目轉(zhuǎn)為Maven項(xiàng)目的方法
前言
Maven是基于項(xiàng)目對(duì)象模型(Project Object Model),可以通過(guò)一小段描述信息來(lái)管理項(xiàng)目的構(gòu)建、報(bào)告和文檔的項(xiàng)目管理工具,提供了一個(gè)倉(cāng)庫(kù)的概念,統(tǒng)一管理項(xiàng)目所依賴的第三方j(luò)ar包,最大可能避免了由于環(huán)境變量的不同在不同電腦之間無(wú)法運(yùn)行的問(wèn)題,Struts2、Hibernate都是采用maven部署的項(xiàng)目。
現(xiàn)在網(wǎng)上有許多普通web項(xiàng)目轉(zhuǎn)換為maven項(xiàng)目的博文,但由于項(xiàng)目的不同,所需的步驟及必須的轉(zhuǎn)換步驟也不同。因此,本文章將以一個(gè)基于SpringMVC,Spring,Hibernate的商城項(xiàng)目為例,詳述轉(zhuǎn)換過(guò)程。
具體實(shí)例
說(shuō)明
- 開(kāi)發(fā)環(huán)境:IDEA,MySQL
- 項(xiàng)目構(gòu)建:暫無(wú)(已通過(guò)本文章成功轉(zhuǎn)換為maven)
- 軟件環(huán)境:SpringMVC,Spring,Hibernate
- 項(xiàng)目描述:商城系統(tǒng)
目的
將普通Dynamic Web項(xiàng)目轉(zhuǎn)換為Maven項(xiàng)目
步驟
前提
轉(zhuǎn)換之前將項(xiàng)目置于Github上,并clone到IDEA上,防止最后不成功而導(dǎo)致項(xiàng)目bug難以補(bǔ)救,畢竟git的revision功能相當(dāng)棒呢?。?/p>
1. 將項(xiàng)目初步convert為Maven項(xiàng)目
選擇 Add framework support ,并勾選導(dǎo)入“Maven”依賴

2. 備份lib接著移除lib,然后編寫pom.xml
看到下面的一大片“紅”,勿擔(dān)心,那只是你“顛覆世界”的第一步,千萬(wàn)不能退縮

接著備份lib,再移除項(xiàng)目的lib,將項(xiàng)目置于“空jar”狀態(tài)

補(bǔ)充pom.xml的頭,自動(dòng)生成的會(huì)略掉好幾項(xiàng)必須的配置
<modelVersion>4.0.0</modelVersion> <groupId>com.shop</groupId> <artifactId>Shop</artifactId> <packaging>war</packaging> <version>1.0-SNAPSHOT</version> <name>Shop Maven Webapp</name> <url>http://maven.apache.org</url>
接著是個(gè)體力活,進(jìn)入每個(gè)java、properties、xml、jsp等文件使用Add Maven依賴方式自動(dòng)導(dǎo)入(快捷鍵: alt+enter),當(dāng)然前提是網(wǎng)速要好哈!

經(jīng)過(guò)上步,已經(jīng)初步導(dǎo)入了大部份必需的依賴,接著,將一些其它依賴(可參考之前備份的lib)隨之導(dǎo)入,千萬(wàn)別忽略這一步,因?yàn)轭愃?mysql-connector-java 等這些依賴一般是還未導(dǎo)入的!
3. 將spring配置文件、數(shù)據(jù)庫(kù)屬性文件、日志配置文件等剪切至src/main/resources之下

若是里面配置文件的映射路徑有差錯(cuò),記得進(jìn)入改正,idea下cmd+鼠標(biāo)可測(cè)試大部份不正確的路徑。
4.將原來(lái)放置在WebRoot路徑下的文件(包括js,css,jsp等)都剪切至webapp文件夾之下,并刪除WebRoot文件夾
重要的是 WEB-INF 文件夾

5.重新部署并測(cè)試
重新部署至 Tomcat(或Jetty) 測(cè)試效果。
基本上,到這一步離成功也就不遠(yuǎn)了(而我已經(jīng)成功了)。若是...若是還有bug,多調(diào)調(diào),看看日志,看看控制臺(tái)輸出,直至轉(zhuǎn)換成功也不失為一次很棒的嘗試。
總結(jié)
Maven是一套相當(dāng)不錯(cuò)的軟件項(xiàng)目管理工具,因此很多程序猿可能會(huì)頻頻遇到Dynamic Web項(xiàng)目轉(zhuǎn)換Maven項(xiàng)目的情況,這時(shí)大家便可以學(xué)習(xí)起來(lái),以備不時(shí)之需!共勉!!
好了,以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
- idea中創(chuàng)建maven的Javaweb工程并進(jìn)行配置(圖文教程)
- Eclipse中使用Maven創(chuàng)建Java Web工程的實(shí)現(xiàn)方式
- 使用IntelliJ IDEA 15和Maven創(chuàng)建Java Web項(xiàng)目(圖文)
- JavaEE開(kāi)發(fā)基于Eclipse的環(huán)境搭建以及Maven Web App的創(chuàng)建
- 使用java連接Redis,Maven管理操作
- windows環(huán)境下java開(kāi)發(fā)工具maven的安裝教程圖解
- JAVA maven項(xiàng)目使用釘釘SDK獲取token、用戶
- Java修改maven的默認(rèn)jdk版本為1.7的方法
- 基于Maven骨架創(chuàng)建JavaWeb項(xiàng)目過(guò)程解析
相關(guān)文章
java Swing JFrame框架類中setDefaultCloseOperation的參數(shù)含義與用法示例
這篇文章主要介紹了java Swing JFrame框架類中setDefaultCloseOperation的參數(shù)含義與用法,結(jié)合實(shí)例形式分析了Swing組件的JFrame框架類中setDefaultCloseOperation方法的簡(jiǎn)單使用技巧,需要的朋友可以參考下2017-11-11
SpringCloud中NacosNamingService的作用詳解
這篇文章主要介紹了SpringCloud中NacosNamingService的作用詳解,NacosNamingService類完成服務(wù)實(shí)例注冊(cè),撤銷與獲取服務(wù)實(shí)例操作,NacosNamingService初始化采用單例模式,使用反射生成,需要的朋友可以參考下2023-11-11
手把手教你使用IDEA創(chuàng)建多模塊(maven)項(xiàng)目
這篇文章主要給大家介紹了關(guān)于如何使用IDEA創(chuàng)建多模塊(maven)項(xiàng)目的相關(guān)資料,文中通過(guò)圖文以及實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-07-07
配置JAVA環(huán)境變量中CLASSPATH變量的作用
這篇文章主要介紹了配置JAVA環(huán)境變量中CLASSPATH變量的作用,需要的朋友可以參考下2023-06-06
Spring Data JPA自動(dòng)生成表時(shí)列順序混亂的最新解決辦法
文章主要介紹了Spring Boot 3.3.5版本中SpringDataJPA自動(dòng)生成表時(shí)列順序混亂的問(wèn)題,以及如何通過(guò)替換Hibernate實(shí)現(xiàn)來(lái)解決這個(gè)問(wèn)題,感興趣的朋友跟隨小編一起看看吧2024-11-11
SpringBoot集成Session的實(shí)現(xiàn)示例
Session是一個(gè)在Web開(kāi)發(fā)中常用的概念,它表示服務(wù)器和客戶端之間的一種狀態(tài)管理機(jī)制,用于跟蹤用戶在網(wǎng)站或應(yīng)用程序中的狀態(tài)和數(shù)據(jù),本文主要介紹了SpringBoot集成Session的實(shí)現(xiàn)示例,感興趣的可以了解一下2023-09-09
用Java實(shí)現(xiàn)簡(jiǎn)單畫板功能
這篇文章主要為大家詳細(xì)介紹了用Java實(shí)現(xiàn)簡(jiǎn)單畫板功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-06-06

