1

我需要提及 Gradle 以了解和找到适用于 Maven 的相同解决方案。

在 Gradle 中存在GRADLE_HOMEand GRADLE_USER_HOME(repository)环境变量,对于 Maven 前者通过M2_HOME和关于存储库我使用settings.xml文件来定义<localRepository>位置

对于 Maven 和 Gradle,我可以放心地定义软件的安装位置,例如除了辅助磁盘之外的其他位置.m2.gradle甚至可以自定义目录名称。settings.xml关于存储库位置的相同目标,都用于辅助磁盘(通过文件记住 Maven )

注意:因此.gradle.m2为空且未使用。

在 Gradle 关于创建的包装器中,该gradle-wrapper.properties文件具有:

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-#.#.#-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

那么最终路径是:GRADLE_USER_HOME/wrapper/dists 因此观察如何使用GRADLE_USER_HOME(自定义位置 - 否则.gradle默认情况下)来定义:

  • 本地存储库
  • 通过包装器安装下载的 Gradle 的基本路径

目标:如何为 Maven 完成相同的行为?我的意思是,Maven 应该自动识别的本地存储库的环境变量名称(类似于)应该是什么?MAVEN_USER_HOME使用该settings.xml文件)。它的目的是根据配置的环境变量名称安装任何 Maven 包装器(自定义位置 - 否则.m2默认情况下),当然也定义了本地存储库。

因此:我需要根据其机器中的开发人员/用户maven-wrapper.properties使用类似MAVEN_USER_HOME(自定义位置 - 否则默认情况下)的东西。.m2

4

1 回答 1

2

对我来说,我使用的是从spring.io. 里面自带mvnw.cmd。通过设置MAVEN_USER_HOME到自定义位置,运行mvnw.cmd会将 maven 下载到该自定义位置。

完成后,我仍然需要手动转到下载的 maven 位置以将其配置settings.xml为指向 maven 库 repo 的自定义位置。

所以目前,可悲的是,配置 repo 似乎settings.xml是必需的,而MAVEN_USER_HOME环境变量与 repo 无关。

于 2021-01-09T18:35:01.863 回答