首页 > 解决方案 > 每次我关闭终端时都需要 Maven 设置

问题描述

我对这个世界很陌生..所以请原谅我的愚蠢解释。

我已经安装了maven,所有设置都完成了。我还创建了一个 maven.sh

内容:

 # Apache Maven Environment Variables        
 # MAVEN_HOME for Maven 1 - M2_HOME for Maven 2        
 export JAVA_HOME=/usr/lib/jvm/java-11        
 export M2_HOME=/opt/apache-maven        
 export MAVEN_HOME=/opt/apache-maven        
 export PATH=${M2_HOME}/bin:${PATH}        

此时一切都按预期工作,但每次我关闭终端时似乎忘记了一些设置。我必须打开终端并执行以下命令才能使其再次工作:

 ~$ cd /etc/profile.d
 ~$ source maven.sh

我不知道这是否只是使用 maven 的方式还是我遗漏了一些东西,但是每次我想执行 maven 时都写相同的命令有点烦人..所以如果你能解释一下我将不胜感激使其自动化的方法。

一些额外的信息:

操作系统:Ubuntu 20.0.4

JDK : 11

不是第一次创建 JAVA_HOME 变量

执行完上面这些命令后,显示正确的JAVA_HOME,但是关闭终端后忘记了,再次显示错误的JAVA_HOME

让我告诉你们,这是我在 stackoverflow 上的第一个问题,所以如果你们想纠正我的举止和糟糕的英语,我会理解的(这不是我的母语,我必须习惯它)

先感谢您!

标签: javamavenubuntu

解决方案


鉴于您的情况,我可以想出几种方法来解决这个问题,这不是特定于 Maven 的,而是特定于终端的——

  1. 将对您的脚本的引用添加maven.sh到您的配置文件中,以便它在您启动终端会话时运行。这通常可以通过.bash_profile在主目录中创建(或添加)文件来完成。您可以将maven.sh脚本的内容添加到该文件中,也可以添加到该文件中source /etc/profile.d/maven.sh。从那时起,当您启动终端会话时,脚本会自动运行并且您的变量设置正确。有关登录 shell 的更多详细信息,请参见https://joshstaiger.org/archives/2005/07/bash_profile_vs.html或手册页bash
  2. 如果您已经完成了第一步但没有成功,请考虑检查这些环境变量是否设置在其他位置(检查 ~/.bashrc、~/.bash_profile 以及您的特定 shell 分发/操作系统的任何位置检查启动脚本
  3. 最后,我推荐使用 SDKMan!在没有这些麻烦的情况下管理 Maven 安装 - 但您的里程可能会有所不同。它处理跟踪环境变量、Java 版本和 &c 并允许安装和管理多个 Java/Maven 版本。https://sdkman.io

资料来源:


推荐阅读