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

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

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

補充pom.xml的頭,自動生成的會略掉好幾項必須的配置
<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>
接著是個體力活,進入每個java、properties、xml、jsp等文件使用Add Maven依賴方式自動導入(快捷鍵: alt+enter),當然前提是網速要好哈!

經過上步,已經初步導入了大部份必需的依賴,接著,將一些其它依賴(可參考之前備份的lib)隨之導入,千萬別忽略這一步,因為類似 mysql-connector-java 等這些依賴一般是還未導入的!
3. 將spring配置文件、數據庫屬性文件、日志配置文件等剪切至src/main/resources之下

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

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

