blog/Maven-的相关配置.md

4.5 KiB
Raw Permalink Blame History

title date tags categories
Maven 的相关配置 2020-09-29 20:51:38
开发工具
Maven
开发工具

Apache Maven是一个软件特别是 Java 软件)项目管理及自动构建工具,由 Apache 软件基金会所提供。基于项目对象模型缩写POM概念Maven 利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。

Maven 也可被用于构建和管理各种项目,例如 C#RubyScala 和其他语言编写的项目。Maven 曾是 Jakarta 项目的子项目,现为由 Apache 软件基金会主持的独立 Apache 项目。

——《维基百科》

由于众所周知的原因Maven 下载东西的时候总会特别慢,直到失败。下面列出几个常见配置:

一、将 archetypeCatalog 参数设为 internal

在 maven 的 VM Options 加上 -DarchetypeCatalog=internal 参数。

  • IntelliJ IDEA : 设置中的 Build, Execution, Deployment -> Build Tools -> Maven -> Runner 的 VM Options 中输入 -DarchetypeCatalog=internal
  • VS Code : 设置中的 扩展 -> Maven for Java -> Maven > Executable: Options 中输入 -DarchetypeCatalog=internal

二、配置阿里云镜像

1. 为单个项目配置阿里云镜像

我们可以在项目的 pom.xml 文件的 project 节点中为该项目单独配置阿里云镜像,如下所示:

<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
                      https://maven.apache.org/xsd/maven-4.0.0.xsd">
    ...
    <repositories>
        <repository>
            <id>aliyun</id>
            <url>https://maven.aliyun.com/repository/public</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
    </repositories>
    <pluginRepositories>
        <pluginRepository>
            <id>aliyun-plugin</id>
            <url>https://maven.aliyun.com/repository/public</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </pluginRepository>
    </pluginRepositories>
    ...
</project>

这样,当我们从 git 上拉取项目之后,就可以直接使用阿里云的镜像。

注意:别忘了 pluginRepositories 节点的配置。网上不少文章只介绍了 repositories 的配置,但是这样可能会出现依赖包从阿里云下载,而 Maven 插件依旧从 repo.maven.apache.org 下载的情况,最终下载缓慢甚至报错。

2. 修改 Maven 的配置文件

我们还可以修改 Maven 安装目录下 conf 文件夹中的 settings.xml 文件,找到其中的 mirrors 节点,在其中添加如下配置:

  <mirror>
    <id>alimaven</id>
    <mirrorOf>*,!jeecg,!jeecg-snapshots</mirrorOf>
    <name>aliyun maven</name>
    <url>https://maven.aliyun.com/nexus/content/groups/public/</url>
  </mirror>

一些软件默认会去使用 ${用户文件夹}/.m2/settings.xml 配置文件,我们可以手动指定 settings.xml 文件的路径。我个人的做法是干脆将修改后的 settings.xml 拷贝一份到 .m2 文件夹中,这样不管哪个软件从哪里加载配置文件,都是一样的内容。


三、本地仓库

Maven 默认的本地仓库位于 个人文件夹\.m2\repository,比如 C:\Users\zhouxy\.m2\repository~\.m2\repository这个我一般就不去修改了。总之下载过的依赖都会放在这里而每次创建、打开项目Maven 都会先从这里寻找依赖。你也可以在 settings.xml 中修改这个路径。

settings 的开始标签下面就有被注释的内容说明如何配置,也就是在 settings 节点中添加如下代码:

<localRepository>D:/ZhouXY/.m2/repository</localRepository>

这样 maven 就会把 D:/ZhouXY/.m2/repository 这个目录当成本地仓库,你可以替换成你自己的文件夹。

随便说点什么

好久没更新博客了,最近在学 Spring由于有点赶时间所以笔记没有整理得很整齐示例程序也零零散散等有时间整理好了再一并发布吧。

另外,博客换了个主题,有些东西还没配置好,就先这样将就吧。