您的位置:首页 > 汽车 > 时评 > 企业展厅装修_工程项目信息查询_网站友情链接的好处_百度推广营销怎么做

企业展厅装修_工程项目信息查询_网站友情链接的好处_百度推广营销怎么做

2024/12/28 10:36:36 来源:https://blog.csdn.net/u012961419/article/details/144687902  浏览:    关键词:企业展厅装修_工程项目信息查询_网站友情链接的好处_百度推广营销怎么做
企业展厅装修_工程项目信息查询_网站友情链接的好处_百度推广营销怎么做

最近 Java 学到 Maven,在修改 repository 路径(保护C盘空间)的问题上遇到了阻塞, 所幸终于搞清楚了,在此记录一下。

手动安装 MAVEN

首先自己尝试手动安装了一下Maven,就是官网下载,解包,配置环境变量,手动修改 conf/settings.xml 下的配置文件(改 <localRepository>),一切顺利。

过程中发现有的每个人说的配置Maven安装目录的环境变量名不一样,包括 MAVEN_HOMEM2_HOME,网上的说法五花八门,相同点是它们都指向 Maven 的安装目录,不同点:

  • 有说操作系统不同:MAVEN_HOME 主要是Linux和macOS在用,M2_HOME主要是windows在用。
  • 有说是Maven版本不同:
    • Maven 1.x 使用 MAVEN_HOME
    • Maven 2.x 引入 M2_HOME,在 Maven 2 及更高版本使用;MAVEN_HOME 也可以使用
    • Maven 3.x 推荐使用 M2_HOME;MAVEN_HOME 不再推荐使用
    • 基于这个说法,为了兼容性,推荐把这两个环境变量都配上
  • 有说是每个工具识别 Maven 安装目录所用的环境变量不同:例如我安装的 IDEA 版本,对这两个都识别

我最终的做法是最少配置原则,所以这两个环境变量我都没有配置,仅在PATH中添加了 Maven 安装目录下的 bin 路径,以保证我可以使用 mvn 命令行工具就行,这样在学习过程中才好暴露出可能的问题。

IDEA 指定 Maven

后来想到自己之前练习 Java,安装的 IDEA(2023)是如何指定 Maven 的,打开 File -> settings 搜索发现,IDEA 本身就内置了 Maven,并且也支持手动指定自己安装的Maven路径:
在这里插入图片描述

  • Bundle (Maven 3):是 IntelliJ IDEA 自带的 Maven 版本。当你选择这个选项时,IDEA 将使用其内置的 Maven 版本来执行 Maven 相关的任务,而不需要你在你的计算机上单独安装 Maven。这个内置的 Maven 版本通常是 Maven 3.x 版本。使用内置的 Maven 版本可以确保 IDEA 与 Maven 的兼容性,并且不需要额外的配置。安装路径是 IDEA安装目录\plugins\maven\lib\maven3
  • Use Maven wrapper:是一个 Maven 提供的工具,它允许项目在不要求用户全局安装 Maven 的情况下运行 Maven 命令。当你选择这个选项时,IDEA 将使用项目中的 Maven wrapper 来执行 Maven 任务。Maven wrapper 通常包含在项目的 .mvn 目录中,它会自动下载并使用与项目 pom.xml 文件中指定的 Maven 版本相匹配的 Maven 版本。这样做的好处是,不同的项目可以独立地使用不同版本的 Maven,而不会相互冲突。
  • 本地路径:如果安装过其他 Maven(IDEA会自动识别排除内置的Maven),并配置了安装目录的环境变量(MAVEN_HOME 或 M2_HOME),就会出现第三个选项,显示的就是Maven 的安装路径

所以为了方便,我将之前安装的 Maven 删掉,PATH 环境变量重新配置为 IDEA 内置 Maven 的地址。

IDEA 修改 repository 路径

因为 Maven 可以管理依赖包,那就需要考虑依赖安装的问题,考虑到 C 盘压力很大,我就想修改依赖存储的路径。

在手动安装 Maven 过程中修改配置文件 conf/settings.xml 就行,在 IDEA 是怎样的呢,于是搜索之后也是五花八门,最终选择了和手动安装 Maven 一样的方式,修改 IEDA 内置 Maven 安装目录下的配置文件。

  <!-- 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>/path/to/local/repo</localRepository> 的注释放开,将 /path/to/local/repo 改成自己的地址就行。

再说下遇到的问题

一开始偷懒在网上搜的方法产生了一些问题,该方法让我直接修改 File -> Settings 中的配置:
在这里插入图片描述
修改 Local repository 并勾选 Override 即可。

修改后发现,它仅对当前项目生效,这个现象立马让我想到了用户配置和工作区配置。而上面的 User settings file 明显是用户配置,我查看了下,本地也并没有这个文件(因为我也没配过)。

那只能是工作区配置了,在 .idea/workspace.xml 中果然发现了这段多出来的内容:

  <component name="MavenImportPreferences"><option name="generalSettings"><MavenGeneralSettings><option name="localRepository" value="E:\software\idea-maven\.m2\repository" /></MavenGeneralSettings></option></component>

想来还是用传统的办法比较靠谱,所以直接去修改 Maven 安装目录下的配置文件。

查看了它的注释:

<!--| This is the configuration file for Maven. It can be specified at two levels:||  1. User Level. This settings.xml file provides configuration for a single user,|                 and is normally provided in ${user.home}/.m2/settings.xml.||                 NOTE: This location can be overridden with the CLI option:||                 -s /path/to/user/settings.xml||  2. Global Level. This settings.xml file provides configuration for all Maven|                 users on a machine (assuming they're all using the same Maven|                 installation). It's normally provided in|                 ${maven.conf}/settings.xml.||                 NOTE: This location can be overridden with the CLI option:||                 -gs /path/to/global/settings.xml|| The sections in this sample file are intended to give you a running start at| getting the most out of your Maven installation. Where appropriate, the default| values (values used when the setting is not specified) are provided.||-->

翻译过来就是:

这是Maven的配置文件。它可以在两个级别上指定:1.用户级别: 此 settings.xml 文件为单个用户提供配置,通常在 ${user.home}/.m2/settings.xml 中提供。
注意:此位置可以用 CLI 选项覆盖:
-s/path/to/user/settings.xml2.全局层面: 此 settings.xml 文件为机器上的所有 Maven 用户提供配置(假设他们都使用相同的 Maven 安装)。它通常在 ${maven.conf}/settings.xml 中提供。
注意:此位置可以用 CLI 选项覆盖:
-gs/path/to/global/settings.xml这个示例文件中的部分旨在给你一个运行的初始配置,让你最大限度地利用你的 Maven 安装。在适当的地方,提供了默认值(当设置未指定时使用的值)。

所以它果然是全局配置文件。修改后,重启 IDEA,Local repository 自动变成了全局配置的路径。

又查了下IDEA在使用配置的优先级:

  • 命令行参数:直接在命令行中指定的参数,具有最高的优先级。
  • .mvn/maven.config:项目特定的 Maven 配置,可以覆盖用户和全局设置。想来与那个 Use Maven wrapperUse settings from .mvn/maven.config 有关。
  • .idea/workspace.xml:IDEA 特定的工作区设置。
  • 用户级别的 settings.xml:位于用户主目录下的 .m2 文件夹中,包含用户专属的 Maven 配置。
  • 全局 settings.xml:位于 Maven 安装目录下的 conf 文件夹中,包含全局的 Maven 配置。
  • 项目 pom.xml:定义项目的构建、依赖等信息。

其他好像还有环境变量,不过我目前用不到,就不过多研究了。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com