如何創(chuàng)建Maven的Java和Web工程并運行在Tomcat上
一、Maven介紹
Maven 是一款為 Java 項目管理構(gòu)建、依賴管理的工具(軟件),使用 Maven 可以自動化構(gòu)建、測試、打包和發(fā)布項目,大大提高了開發(fā)效率和質(zhì)量。
二、Maven安裝步驟
1.下載后解壓到?jīng)]有空格、特殊字符和中文的目錄中

2.配置環(huán)境變量


3.查看版本

4.配置conf/settings.xml文件
4.1依賴本地緩存位置(本地倉庫位置)
<!-- conf/settings.xml 55行 --> <localRepository>D:\apache-maven-3.8.1\repository</localRepository>
4.2配置國內(nèi)阿里鏡像
<!--在mirrors節(jié)點(標簽)下添加中央倉庫鏡像 160行附近-->
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>4.3配置jdk版本項目構(gòu)建
<!--在profiles節(jié)點(標簽)下添加jdk編譯版本 268行附近--> <profile> <id>jdk11</id> <activation> <activeByDefault>true</activeByDefault> <jdk>11</jdk> </activation> <properties> <maven.compiler.source>11</maven.compiler.source> <maven.compiler.target>11</maven.compiler.target> <maven.compiler.compilerVersion>11</maven.compiler.compilerVersion> <maven.compiler.encoding>utf-8</maven.compiler.encoding> </properties> </profile>
5.IDEA配置本地Maven軟件

注意:
如果本地倉庫地址不變化,只有一個原因,就是maven/conf/settings.xml配置文件編寫錯誤!仔細檢查即可!一定保證User settings file對應(yīng)之前修改的settings.xml的路徑,若 不一致,選中Override復(fù)選框,手動選擇配置文件。
三、基于IDEA創(chuàng)建Maven工程
1. 概念梳理Maven工程的GAVP
Maven工程相對之前的項目,多出一組gavp屬性,gav需要我們在創(chuàng)建項目的時候指定,p有默認值,我們先行了解下這組屬性的含義:
Maven 中的 GAVP 是指 GroupId、ArtifactId、Version、Packaging 等四個屬性的縮寫,其中前三個是必要的,而 Packaging 屬性為可選項。這四個屬性主要為每個項目在maven倉庫中做一個標識,類似人的姓-名!有了具體標識,方便后期項目之間相互引用依賴等。
GAV遵循一下規(guī)則:
1) GroupID 格式:com.{公司/BU }.業(yè)務(wù)線.[子業(yè)務(wù)線],最多 4 級。
- 說明:{公司/BU} 例如:alibaba/taobao/tmall/aliexpress 等 BU 一級;子業(yè)務(wù)線可選。
- 正例:com.taobao.tddl 或 com.alibaba.sourcing.multilang
2) ArtifactID 格式:產(chǎn)品線名-模塊名。語義不重復(fù)不遺漏,先到倉庫中心去查證一下。
- 正例:tc-client / uic-api / tair-tool / bookstore
3) Version版本號格式推薦:主版本號.次版本號.修訂號
- 1) 主版本號:當做了不兼容的 API 修改,或者增加了能改變產(chǎn)品方向的新功能。
- 2) 次版本號:當做了向下兼容的功能性新增(新增類、接口等)。
- 3) 修訂號:修復(fù) bug,沒有修改方法簽名的功能加強,保持 API 兼容性。
例如: 初始→1.0.0 修改bug → 1.0.1 功能調(diào)整 → 1.1.1等
Packaging定義規(guī)則:
- 指示將項目打包為什么類型的文件,idea根據(jù)packaging值,識別maven項目類型!
- packaging 屬性為 jar(默認值),代表普通的Java工程,打包以后是.jar結(jié)尾的文件。
- packaging 屬性為 war,代表Java的web工程,打包以后.war結(jié)尾的文件。
- packaging 屬性為 pom,代表不會打包,用來做繼承的父工程。
2.IDEA構(gòu)建Maven Java SE工程


3.IDEA構(gòu)建Maven Java Web工程
3.1方式一:將普通Maven Java SE工程改為Maven Java Web工程

上面還是一個普通的Maven Java SE工程,要將其改為Maven Java Web工程,將當前工程的打包方式設(shè)置為war包:

修改項目結(jié)構(gòu):

此時,普通的Maven Java SE工程,就成功改為Maven Java Web工程了!

3.2方式二:使用插件JBLJavaToWeb創(chuàng)建
安裝插件JBLJavaToWeb
file / settings / plugins / marketplace

創(chuàng)建新的java maven工程:

右鍵,點擊JBLJavaToWeb

如果不顯示webapp,刷新一下:

3.3方式三: 使用IDEA自帶的骨架


刷新maven:
可能會缺少java源文件,手動創(chuàng)建即可

4.Maven工程項目結(jié)構(gòu)說明
Maven 是一個強大的構(gòu)建工具,它提供一種標準化的項目結(jié)構(gòu),可以幫助開發(fā)者更容易地管理項目的依賴、構(gòu)建、測試和發(fā)布等任務(wù)。
以下是 Maven Web 程序的文件結(jié)構(gòu)及每個文件的作用:
|-- pom.xml # Maven 項目管理文件
|-- src
|-- main # 項目主要代碼
| |-- java # Java 源代碼目錄
| | `-- com/example/myapp # 開發(fā)者代碼主目錄
| | |-- controller # 存放 Controller 層代碼的目錄
| | |-- service # 存放 Service 層代碼的目錄
| | |-- dao # 存放 DAO 層代碼的目錄
| | `-- model # 存放數(shù)據(jù)模型的目錄
| |-- resources # 資源目錄,存放配置文件、靜態(tài)資源等
| | |-- log4j.properties # 日志配置文件
| | |-- spring-mybatis.xml # Spring Mybatis 配置文件
| | `-- static # 存放靜態(tài)資源的目錄
| | |-- css # 存放 CSS 文件的目錄
| | |-- js # 存放 JavaScript 文件的目錄
| | `-- images # 存放圖片資源的目錄
| `-- webapp # 存放 WEB 相關(guān)配置和資源
| |-- WEB-INF # 存放 WEB 應(yīng)用配置文件
| | |-- web.xml # Web 應(yīng)用的部署描述文件
| | `-- classes # 存放編譯后的 class 文件
| `-- index.html # Web 應(yīng)用入口頁面
`-- test # 項目測試代碼
|-- java # 單元測試目錄
`-- resources # 測試資源目錄- pom.xml:Maven 項目管理文件,用于描述項目的依賴和構(gòu)建配置等信息。
- src/main/java:存放項目的 Java 源代碼。
- src/main/resources:存放項目的資源文件,如配置文件、靜態(tài)資源等。
- src/main/webapp/WEB-INF:存放 Web 應(yīng)用的配置文件。
- src/main/webapp/index.jsp:Web 應(yīng)用的入口頁面。
- src/test/java:存放項目的測試代碼。
- src/test/resources:存放測試相關(guān)的資源文件,如測試配置文件等。
四、將Maven的Web工程部署到Tomcat中
新增一個index.html

配置Tomcat


點擊debug啟動,Tomcat啟動成功!

總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
springboot配置druid多數(shù)據(jù)源的示例代碼
這篇文章主要介紹了springboot配置druid多數(shù)據(jù)源的示例代碼,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-09-09
十分簡單易懂的Java應(yīng)用程序性能調(diào)優(yōu)技巧分享
這篇文章主要介紹了十分簡單易懂的Java性能調(diào)優(yōu)技巧分享,具有一定參考價值,需要的朋友可以了解下。2017-11-11
java計算兩個日期之前的天數(shù)實例(排除節(jié)假日和周末)
下面小編就為大家?guī)硪黄猨ava計算兩個日期之前的天數(shù)實例(排除節(jié)假日和周末)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-07-07
idea集成shell運行環(huán)境以及shell輸出中文亂碼的解決
這篇文章主要介紹了idea集成shell運行環(huán)境以及shell輸出中文亂碼的解決,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-08-08

