一、Maven的安装
前提:
确保已安装 JDK,并设置 JAVA_HOME
环境变量到 Windows 环境变量。
下载Maven:
下载地址:http://maven.apache.org/download.cgi
下载 Maven 的 zip 文件,例如: apache-maven-3.5.2-bin.zip
,将它解压到你要安装 Maven 的文件夹。假设你解压缩到文件夹 D:\apache-maven-3.5.2
配置 MAVEN_HOME环境变量:
添加 MAVEN_HOME
环境变量到 Windows 环境变量,并将其指向你的 Maven 文件夹
。
添加到环境变量 - PATH
验证是否安装成功:
WINDOWS+R
调出运行窗口,输入cmd
并确认,
在窗口中输入代码:mvn -version
:
输出:
C:\Users\chenjiaxing>mvn -version
Apache Maven 3.6.0 (97c98ec64a1fdfee7767ce5ffb20918da4f719f3; 2018-10-25T02:41:47+08:00)
Maven home: F:\apache-maven-3.6.0\bin\..
Java version: 1.8.0_65, vendor: Oracle Corporation, runtime: G:\JDK\jre
Default locale: zh_CN, platform encoding: GBK
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
二、Maven的本地仓库
概述:
Maven 的本地资源库是用来存储所有项目的依赖关系(插件 Jar 和其他文件,这些文件被 Maven 下载)到本地文件夹。很简单,当你建立一个 Maven 项目,所有相关文件将被存储在你的 Maven 本地仓库。
默认情况下,Maven 的本地资源库默认为 .m2
目录文件夹:
Unix/Mac OS X:~/.m2
Windows:C:\Documents and Settings\{your-username}\.m2
通常情况下,可改变默认的 .m2
目录下的默认本地存储库文件夹到其他更有意义的名称,例如, maven-repo 找到 {M2_HOME}\conf\setting.xml
, 更新 localRepository
到其它名称。
修改之后,新的 Maven 本地存储库现在改为 D:/apache-maven-3.5.2/repo
二、Maven 中央仓库
概述:
当你建立一个 Maven 的项目,Maven 会检查你的 pom.xml 文件,以确定哪些依赖下载。首先,Maven 将从本地资源库获得 Maven 的本地资源库依赖资源,如果没有找到,然后把它会从默认的 Maven 中央存储库 http://repo1.maven.org/maven2/ 查找下载。
使用 MVNrepository搜索依赖:https://mvnrepository.com/
三、Maven的依赖机制
概述:
在 Maven 依赖机制的帮助下自动下载所有必需的依赖库,并保持版本升级。
传统方式:
- 访问 http://logging.apache.org/log4j/
- 下载 Log4j 的 jar 库
- 复制 jar 到项目类路径
- 手动将其包含到项目的依赖
- 所有的管理需要一切由自己做
Maven方式:
- 你需要知道 jar 的 Maven 坐标,例如:
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
- 它会自动下载 log4j 的 1.2.17 版本库
- 声明 Maven 的坐标转换成 pom.xml 文件
<dependencies>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
</dependencies>
- 当 Maven 编译或构建,log4j 的 jar 会自动下载,并把它放到 Maven 本地存储库
- 所有由 Maven 管理
Maven搜索依赖的顺序
- 在 Maven 的本地仓库搜索 log4j
- 在 Maven 中央存储库搜索 log4j
- 在 Maven 远程仓库搜索 log4j(如果在 pom.xml 中定义)
四、Maven常用命令
- 清除产生的项目:
mvn clean
- 编译源代码:
mvn compile
- 打包:
mvn package
- 只打包不测试(跳过测试):
mvn -dmaven.test.skip=true
- 安装到本地仓库:
mvn install
- 源码打包:
mvn source:jar
或
mvn source:jar-no-fork
五、使用IDEA创建Maven程序
选择 File
-> New
-> Project...
选择 Maven
项目
填写项目信息:
选择项目空间:
修改目录结构:
├─src
│ ├─main
│ │ ├─java
│ │ ├─resources
│ │ └─webapp
│ │ └─WEB-INF
│ └─test
│ └─java
- 说明:
- src:源码目录
- src/main/java:Java 源码目录
- src/main/resources:资源文件目录
- src/main/webapp:Web 相关目录
- src/test:单元测试
完善目录结构:
- 修改
pom.xml
配置,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<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>
<groupId>com.funtl</groupId>
<artifactId>hello-maven</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>war</packaging>
</project>
- 配置 web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
</web-app>
- Log4J 的配置文件
在 src/main/resources 目录下创建 log4j.properties 配置文件,内容如下:
log4j.rootLogger=INFO, console, file
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d %p [%c] - %m%n
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.File=logs/log.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.A3.MaxFileSize=1024KB
log4j.appender.A3.MaxBackupIndex=10
log4j.appender.file.layout.ConversionPattern=%d %p [%c] - %m%n