Maven是专门为Java项目打造的管理和构建工具
项目添加依赖时,pom.xml中添加如下内容即可引入对应commons-logging包
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.2</version>
</dependency>
可从如下网站搜索依赖包信息,复制包定位信息
网站:https://search.maven.org/
Maven定义了几种依赖关系,分别是compile
、test
、runtime
和provided
:
scope | 说明 | 示例 |
---|---|---|
compile | 编译时需要用到该jar包(默认) | commons-logging |
test | 编译Test时需要用到该jar包 | junit |
runtime | 编译时不需要,但运行时需要用到 | mysql |
provided | 编译时需要用到,但运行时由JDK或某个服务器提供 | servlet-api |
其中,默认的compile
是最常用的,Maven会把这种类型的依赖直接放入classpath
Maven的生命周期(Lifecycle)由一系列阶段(phase)构成,以内置的生命周期default
为例,它包含以下phase:
运行mvn package时,会执行validate—>package阶段
运行mvn compile时,会执行validate—>compile阶段
Maven另一个常用的生命周期是clean
,它会执行3个phase:
经常用到的phase如下:
执行一个phase又会触发一个或多个goal:
执行的Phase | 对应执行的Goal |
---|---|
compile | compiler:compile |
test | compiler:testCompile surefire:test |
goal的命名总是abc:xyz
这种形式。
官方网站:Maven – Welcome to Apache Maven
下载后本地解压
修改原有配置
使用aliyun镜像
修改apache-maven-3.3.9\conf\setting.xml文件
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*,!jeecg,!jeecg-snapshots</mirrorOf>
<name>Nexus aliyun</name>
<url>https://maven.aliyun.com/nexus/content/groups/public </url>
</mirror>
或者
<mirrors>
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
</mirrors>
配置 jdk1.8 编译项目
<profiles>
<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<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>
</profiles>
修改本地仓库位置
<localRepository>C:/MySoftware/Maven/repository</localRepository>
配置环境变量
Linux
MAVEN_HOME=/path/to/maven-3.8.x
PATH=$PATH:$MAVEN_HOME/bin
Windows
环境变量添加maven包bin路径
检查配置
mvn -version # 显示版本号