Maven
記錄從安裝 maven 到創建 idea 項目的過程,目前還只使用了 maven 的導包功能,比以前手動導包及尋找依賴包方便了不少,只需要在 pom.xml 文件中配置一下即可自動導入以及相關的包,但前提還是要找到正確的 jar 包,其他功能等以后用到的時候再進一步了解。
-
准備工作
從官網下載並解壓到自己的工作路徑
配置環境變量
添加
MAVEN_HOME映射當前的maven文件夾,比如我當前對應的maven文件夾D:\Work\apache-maven-3.6.1-bin\apache-maven-3.6.1然后再 path 中添加%MAVEN_HOME%\bin\驗證是否安裝成功

輸入 mvn -version 能夠成功顯示當前版本即為安裝成功
-
配置
將 maven 目錄下
conf/settings.xml中的遠程倉庫地址改為阿里雲鏡像,因為 maven 默認的倉庫在國外,國內訪問導包的時候速度太慢甚至無法下載。對應的<mirror>標簽一定要放在<mirrors>標簽中包起來,否則無法生效,之前弄錯一次
<mirrors>
...
<mirror>
<id>alimaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>
</mirrors>
-
使用idea創建maven項目
到此 maven 已經配置完畢了可以直接使用了,下面是用 idea 創建 maven 普通項目和 JavaWeb項目的詳細步驟
- 創建普通項目





創建完成后對應的目錄結構如下,java 對應源碼目錄,resources 對應資源路徑, test.java 對應測試目錄。
下面的
pom.xml即為 Maven 的工程配置文件

- Maven 創建 JavaWeb 項目

其他步驟和創建普通項目相同,選擇正確的 maven 下一步下一步就可以了,創建完成后記得勾選自動導包功能。

web 項目創建完成后默認的沒有源碼目錄和資源目錄,需要手動創建,創建完成后指定為相應的目錄即可


然后為項目添加 tomcat 服務器


到此創建就完成了。
-
Maven 如何導包及對應包的查詢方法
比如現在要在普通項目下導入一個 junit 的測試 jar 包,在 pom.xml 文件中添加
<dependencies>
...
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13</version>
</dependency>
</dependencies>
可以看到 Maven 自動幫我們導入了
junit和對應的依賴包hamcrest-core兩個 jar 包,不用我們手動的再去下載並導入

附 Maven 包的查詢網站
https://mvnrepository.com/只需要知道對應包的名字即可查詢到對應的




另外記錄一下idea 中 src 目錄下的資源導出問題
<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>
更正-這樣會使resources下的資源失效,因為沒有包含resources下的資源文件,修正只添加<include>就可以了
修改 maven 默認 JDK 版本為1.8
<profile>
<id>jdk-1.8</id>
<activation>
<jdk>1.8</jdk>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
