Java基礎(chǔ)之Maven詳解
一、Maven環(huán)境的搭建
1. 為什么要學(xué)習(xí)Maven?

2. Maven項(xiàng)目架構(gòu)管理工具

3. 下載安裝Maven

下載完成后解壓
4. 配置環(huán)境變量
在我們的系統(tǒng)環(huán)境變量中
配置如下配置:
- M2_HOME maven目錄下的bin目錄
- MAVEN_HOME maven的目錄
- 在系統(tǒng)的path中配置 %MAVEN_HOME%\bin

測(cè)試Maven是否安裝完畢,必須保證配置完成
5. 阿里云鏡像配置


<mirror> <id>nexus-aliyun</id> <mirrorOf>*</mirrorOf> <name>Nexus aliyun</name> <url>http://maven.aliyun.com/nexus/content/groups/public</url> </mirror>
6. 本地倉(cāng)庫(kù)
在本地的倉(cāng)庫(kù)和遠(yuǎn)程倉(cāng)庫(kù)
建立一個(gè)本地倉(cāng)庫(kù): localRepository
<localRepository>E:\Environment\apache-maven-3.8.1\maven-repo</localRepository>

二、IDEA中Maven的操作
1. 啟動(dòng)IDEA
2. 創(chuàng)建一個(gè)Maven項(xiàng)目



3. 等待項(xiàng)目初始化完畢

4. 觀察Maven倉(cāng)庫(kù)中出現(xiàn)的東西
5. IDEA中Maven設(shè)置


6. 創(chuàng)建maven項(xiàng)目


這個(gè)只有在Web應(yīng)用下才有

7. IDEA中標(biāo)記文件夾功能
方法一:

方法二:


8. 在IDEA中配置Tomcat
點(diǎn)擊IDEA工具欄run->Edit Configurations按步



解決警告問(wèn)題:
必須要的配置:產(chǎn)生問(wèn)題的原因:我們?cè)L問(wèn)一個(gè)網(wǎng)站,需要制定一個(gè)文件夾名字



9. pom文件
pom.xml 是Maven的核心配置文件

<?xml version="1.0" encoding="UTF-8"?>
<!--Maven版本和頭文件-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<!-- 這里就是我們剛才配置的GAV -->
<groupId>com.kuang</groupId>
<artifactId>javaweb-01-maven</artifactId>
<version>1.0-SNAPSHOT</version>
<!-- Package:項(xiàng)目的打包方式
jar:java應(yīng)用
war:JavaWeb應(yīng)用
-->
<packaging>war</packaging>
<!--配置-->
<properties>
<!-- 項(xiàng)目的默認(rèn)構(gòu)建編碼 -->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!-- 編碼版本 -->
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
<!--項(xiàng)目依賴(lài)-->
<dependencies>
<!-- 具體依賴(lài)的jar包配置文件 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
</dependencies>
<!-- 項(xiàng)目構(gòu)建用的東西 -->
<build>
<finalName>javaweb-01-maven</finalName>
<pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
<plugins>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>3.1.0</version>
</plugin>
<!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging -->
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.2</version>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.1</version>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>3.2.2</version>
</plugin>
<plugin>
<artifactId>maven-install-plugin</artifactId>
<version>2.5.2</version>
</plugin>
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.8.2</version>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>

Maven由于它的約定大于配置,我們之后可能遇到我們縮寫(xiě)的配置文件,無(wú)法被導(dǎo)出或者生效的問(wèn)題,
解決方案:
<!-- 在build中配置resources,來(lái)防止我們資源導(dǎo)出失敗的問(wèn)題 -->
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<excludes>
<exclude>**/*.properties</exclude>
<exclude>**/*.xml</exclude>
</excludes>
<filtering>false</filtering>
</resource>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>


三、解決一些問(wèn)題和初步了解Servlet

到此這篇關(guān)于Java基礎(chǔ)之Maven詳解的文章就介紹到這了,更多相關(guān)Java Maven詳解內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MyBatis-Plus+達(dá)夢(mèng)數(shù)據(jù)庫(kù)實(shí)現(xiàn)高效數(shù)據(jù)持久化的示例
這篇文章主要介紹了MyBatis-Plus和達(dá)夢(mèng)數(shù)據(jù)庫(kù)實(shí)現(xiàn)高效數(shù)據(jù)持久化,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-08-08
解析Java中的定時(shí)器及使用定時(shí)器制作彈彈球游戲的示例
這篇文章主要介紹了Java中的定時(shí)器及使用定時(shí)器制作彈彈球游戲的示例,文中同時(shí)也分析了定時(shí)器timer的缺點(diǎn)及相關(guān)替代方案,需要的朋友可以參考下2016-02-02
Java之MyBatis的Dao方式以及Dao動(dòng)態(tài)代理詳解
這篇文章主要介紹了Java之MyBatis的Dao方式以及Dao動(dòng)態(tài)代理詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12
SpringBoot+Redis?BitMap實(shí)現(xiàn)簽到與統(tǒng)計(jì)的項(xiàng)目實(shí)踐
最近項(xiàng)目里需要集成簽到和統(tǒng)計(jì)功能,連續(xù)簽到后會(huì)給用戶(hù)發(fā)放一些優(yōu)惠券和獎(jiǎng)品,以此來(lái)吸引用戶(hù)持續(xù)在該品臺(tái)進(jìn)行活躍,本文就詳細(xì)的介紹一下如何實(shí)現(xiàn),感興趣的可以了解一下2023-09-09
SpringBoot中使用HTTP客戶(hù)端工具Retrofit
這篇文章主要為大家介紹了SpringBoot中使用HTTP客戶(hù)端工具Retrofit方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06
SpringBoot集成SpringSecurity和JWT做登陸鑒權(quán)的實(shí)現(xiàn)
這篇文章主要介紹了SpringBoot集成SpringSecurity和JWT做登陸鑒權(quán)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04

