?Maven介绍
Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project‘s build, reporting and documentation from a central piece of information.
Apache Maven是一个软件项目管理和理解工具。基于项目对象模型(POM)的概念,Maven可以从一个中心信息块管理项目的构建、报告和文档。
?下载
在 maven官方页面 点击download
下载bin压缩文件
//如果不想下载最新版maven可以点击页面最下方的 archives 下载旧版本
之后解压zip放到合适的地方
//例如/Users/${username}/apache-maven-3.8.1
之后进入maven目录下新建 repository 文件夹
?配置环境变量
在Terminal输入以下命令以vim打开配置文件
(bash与zsh命令不同)
vim ~/.bash_profile # bash
vim ~/.zshrc # zsh
然后按 i 进入 INSERT 模式
粘贴以下内容
export M2_HOME="/Users/${username}/apache-maven-3.8.1"
export PATH="$M2_HOME/bin:$PATH"
!M2_HOME是刚才解压zip后maven文件夹存放的目录 请根据实际情况自行替换
然后按 : 输入 wq(保存并退出)
在Terminal输入以下命令使配置生效
source ~/.bash_profile # bash
source ~/.zshrc # zsh
在Terminal输入以下命令确认环境变量配置是否成功
mvn -v
如图所示 环境变量配置成功
?maven conf
进入maven目录下的conf文件夹
修改settings.xml
!请根据实际情况自行修改
<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ${user.home}/.m2/repository
<localRepository>/path/to/local/repo</localRepository>
-->
<localRepository>/Users/saber/apache-maven-3.8.1/repository</localRepository>
<mirrors>
<!-- mirror
| Specifies a repository mirror site to use instead of a given repository. The repository that
| this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used
| for inheritance and direct lookup purposes, and must be unique across the set of mirrors.
|
<mirror>
<id>mirrorId</id>
<mirrorOf>repositoryId</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://my.repository.com/repo/path</url>
</mirror>
-->
<!-- <mirror>
<id>maven-default-http-blocker</id>
<mirrorOf>external:http:*</mirrorOf>
<name>Pseudo repository to mirror external repositories initially using HTTP.</name>
<url>http://0.0.0.0/</url>
<blocked>true</blocked>
</mirror>
</mirrors> -->
<mirror>
<id>aliyunmaven</id>
<mirrorOf>central</mirrorOf>
<name>阿里云公共仓库</name>
<url>https://maven.aliyun.com/repository/central</url>
</mirror>
<mirror>
<id>repo1</id>
<mirrorOf>central</mirrorOf>
<name>central repo</name>
<url>http://repo1.maven.org/maven2/</url>
</mirror>
<mirror>
<id>aliyunmaven</id>
<mirrorOf>apache snapshots</mirrorOf>
<name>阿里云阿帕奇仓库</name>
<url>https://maven.aliyun.com/repository/apache-snapshots</url>
</mirror>
</mirrors>
<profiles>
<!-- profile
| Specifies a set of introductions to the build process, to be activated using one or more of the
| mechanisms described above. For inheritance purposes, and to activate profiles via <activatedProfiles/>
| or the command line, profiles have to have an ID that is unique.
|
| An encouraged best practice for profile identification is to use a consistent naming convention
| for profiles, such as ‘env-dev‘, ‘env-test‘, ‘env-production‘, ‘user-jdcasey‘, ‘user-brett‘, etc.
| This will make it more intuitive to understand what the set of introduced profiles is attempting
| to accomplish, particularly when you only have a list of profile id‘s for debug.
|
| This profile example uses the JDK version to trigger activation, and provides a JDK-specific repo.
<profile>
<id>jdk-1.4</id>
<activation>
<jdk>1.4</jdk>
</activation>
<repositories>
<repository>
<id>jdk14</id>
<name>Repository for JDK 1.4 builds</name>
<url>http://www.myhost.com/maven/jdk14</url>
<layout>default</layout>
<snapshotPolicy>always</snapshotPolicy>
</repository>
</repositories>
</profile>
-->
<profile>
<repositories>
<repository>
<id>aliyunmaven</id>
<name>aliyunmaven</name>
<url>https://maven.aliyun.com/repository/public</url>
<layout>default</layout>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>MavenCentral</id>
<url>http://repo1.maven.org/maven2/</url>
</repository>
<repository>
<id>aliyunmavenApache</id>
<url>https://maven.aliyun.com/repository/apache-snapshots</url>
</repository>
</repositories>
</profile>
<!--
| Here is another profile, activated by the system property ‘target-env‘ with a value of ‘dev‘,
| which provides a specific path to the Tomcat instance. To use this, your plugin configuration
| might hypothetically look like:
|
| ...
| <plugin>
| <groupId>org.myco.myplugins</groupId>
| <artifactId>myplugin</artifactId>
|
| <configuration>
| <tomcatLocation>${tomcatPath}</tomcatLocation>
| </configuration>
| </plugin>
| ...
|
| NOTE: If you just wanted to inject this configuration whenever someone set ‘target-env‘ to
| anything, you could just leave off the <value/> inside the activation-property.
|
<profile>
<id>env-dev</id>
<activation>
<property>
<name>target-env</name>
<value>dev</value>
</property>
</activation>
<properties>
<tomcatPath>/path/to/tomcat/instance</tomcatPath>
</properties>
</profile>
-->
</profiles>
?IDEA配置
在IDEA中按如下步骤修改 maven偏好设置
修改 Maven 主路径 用户设置文件 本地存储库
如下图所示该项目的maven插件与依赖已配置完成
?参考及引用
https://www.cnblogs.com/zhuwf/p/11646617.html
https://www.cnblogs.com/diandianquanquan/p/10607095.html
https://zhuanlan.zhihu.com/p/71998219
?转载请注明出处
本文作者:双份浓缩馥芮白
原文链接:https://www.cnblogs.com/Flat-White/p/13501639.html
版权所有,如需转载请注明出处。