有没有一种在我的 ~/.zshrc 中设置 MAVEN_HOME 而不指定版本号的可靠方法? (苹果系统)

Is there a robust way to set MAVEN_HOME in my ~/.zshrc without specifying the version number? (MacOS)

上下文:我用brew install maven

安装maven

在我的 ~/.zshrc 我有:

# Maven (mvn --version)
export MAVEN_HOME="$HOME/usr/local/Cellar/maven/3.6.3"
export PATH=$MAVEN_HOME/bin:$PATH

有没有办法设置我的 MAVEN_HOME,使我在 Maven 升级到 3.6.4 时不必增加它?

每次更新 Maven 时都必须进入我的配置文件并更新它有点乏味! :)

这也有助于 onboarding/setup 脚本下载 Maven 并以编程方式设置 ~/.zshrc~/.bashrc 配置

我为解决这个问题所做的是创建一个指向 maven 安装版本的符号 link。

ln -s maven_3.6.4_path maven_slink

并在配置文件中设置MAVEN_HOME=maven_slink。每次我需要更改 Maven 版本时,我所要做的就是删除 maven_slink 并创建一个指向 Maven 安装的新 maven_slink。我不需要每次安装新版本的 maven 时都去更改配置文件。

我在 windows 上工作,我已经创建了文件夹 dev-env 并且我已经在 PATH 变量中添加了这个文件夹的路径。

我已经安装了javajdk8、jdk9、jdk11、jdk13的版本。 我已经创建了 bat 文件并将它们放在 dev-env 中:jdk8.bat、jdk9.bat、jdk9.bat、jdk11.bat 和 jdk13.bat。 在 bat 文件中,我切换了 java.

的版本
@echo off 
set JAVA_HOME=path to jdk version
set PATH = %JAVA_HOME%\bin+PATH
java -version

maven 中的相同内容。我创建了不同的 bat 文件 maven3.bat、maven36.bat.

@echo off 
set MAVAEN_HOME=path to jdk version
set PATH = %MAVEN_HOME%\bin+PATH
mvn -version

所以,如果我想从一个版本切换到另一个版本。我打开 cmd 和 运行 具有我想要的版本的 bat 文件。

Per @chepner:/usr/local/bin/mvn 是通过自制软件安装时指向最新安装版本的符号链接。

我在 ~/.zshrc 配置中将 export MAVEN_HOME="/usr/local/Cellar/maven/3.6.3/mvn" 更改为 export MAVEN_HOME="/usr/local/bin/mvn",一切正常。