一、前言
- 可以帮助我们构建项目、管理项目中的 jar 包@b@- Maven 仓库:存放构建依赖的位置@b@ - 本地仓库:默认是 ~/.m2/repository@b@ - 远程仓库:中央仓库、镜像仓库、私服仓库@b@- 示例:下载、安装、配置、常用命令
注意>>
1)JDK版本,Maven 3.3.+ 要求 JDK 版本 ≥ JDK 1.7;(当然,Maven 3.3.+ 仍然允许使用工具链针对Jdk1.3和其他JDK版本进行构建)@b@2)对于内存条大小,没有最低要求@b@3)对于硬盘大小,至少500M吧;(Maven 自身占很小内存,大概 10M 左右,但是由于要存放 Maven repository 即:本地仓库,所以需预留空间,这个空间根据你本地项目多少决定,至少500M吧)@b@4)操作系统,没有最低要求;(因为它的启动脚本可以是 shell 脚本和 windows 批处理文件,也就是说只要你windows系统正常启动,你就可以启动Maven了)
二、配置步骤
1) 下载Maven 3.6 压缩包(更多完整apache-maven-all-bin.zip版本)
2) 解压目录
Maven目录分析:@b@- bin文件夹:含有mvn运行的脚本,这些脚本用来配置java命令,准备好classpath和相关的java系统属性,然后执行java命令。@b@- boot文件夹:含有plexus-classworlds-2.5.2.jar,maven就是用它来加载自己的类库的。相对于默认的java类加载器。@b@- conf文件夹:含有settings.xml配置文件,直接修改该文件,就能在集群上全局的定制maven的行为。@b@- lib文件夹:含有maven运行时所需要的java类库,maven本身是分模块开发的。@b@- LICENSE:记录了maven使用的软件许可Apache License Version 2.0。@b@- NOTICE:记录了maven包含的第三方软件。@b@- README:包含了maven的简要介绍,包括安装需求及如何安装的简要指令。
3)配置系统环境参数 - 操作步骤:此电脑(右键)--->属性--->高级系统设置--->环境变量--->新建环境变量MAVEN_HOME---> 编辑Path,增加“%MAVEN_HOME%\bin”
C:\Users\Administrator>mvn -version@b@Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)@b@Maven home: D:\software\apache-maven-3.6.3\bin\..@b@Java version: 1.8.0_241, vendor: Oracle Corporation, runtime: C:\Program Files\Java\jre1.8.0_241@b@Default locale: zh_CN, platform encoding: GBK@b@OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
优化环境变量MAVEN_OPTS配置性能 - 如设置值为-Xms128m -Xmx512m 防止大项目堆栈内存溢出java.lang.OutOfMemeoryError
4)配置setting文件 - 如修改本地仓库的目录(默认在系统的用户目录下的m2/repository中)
修改配置文件:apache-maven-3.6.3\conf\settings.xml@b@...@b@找到<localRepository>标签,注释掉,添加@b@<localRepository>E:\Program Files\java\repository</localRepository>
修改为阿里云下载
找到<mirrors>...</mirrors>,添加<mirrors>@b@ <!-- 阿里云仓库 -->@b@ <mirror>@b@ <id>alimaven</id>@b@ <mirrorOf>central</mirrorOf>@b@ <name>aliyun maven</name>@b@ <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>@b@ </mirror>@b@@b@ <!-- 中央仓库1 -->@b@ <mirror>@b@ <id>repo1</id>@b@ <mirrorOf>central</mirrorOf>@b@ <name>Human Readable Name for this Mirror.</name>@b@ <url>http://repo1.maven.org/maven2/</url>@b@ </mirror>@b@@b@ <!-- 中央仓库2 -->@b@ <mirror>@b@ <id>repo2</id>@b@ <mirrorOf>central</mirrorOf>@b@ <name>Human Readable Name for this Mirror.</name>@b@ <url>http://repo2.maven.org/maven2/</url>@b@ </mirror>@b@ </mirrors>
5) 常用命令
maven常用命令:@b@@b@mvn -v:查看版本@b@@b@mvn clean:删除target@b@@b@mvn compile:编译@b@@b@mvn test:测试@b@@b@mvn package:打包@b@@b@mvn install:上传jar包到本地仓库中
6)测试常见问题
6. 1)报错:[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
解决方法@b@@b@<project>@b@ ... <properties>@b@ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>@b@ </properties>@b@ ... </project>
6.2)创建新类,需要使用其他的类,需要做导入(没有导入到 仓库中)
解决办法:@b@找不到maven01的jar包,因此我们需要将包含HelloWorld的jar包发布到本地仓库中,使用mvn install命令完成。@b@同时在maven02的pom.xml文件</dependencies></dependencies>中添加maven01包的依赖<dependency></dependency>,@b@写入maven01包的坐标<groupId></groupId>、<artifactId></artifactId>和<version></version>,再次编译便可成功。