java - 每次我关闭终端时都需要 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 上的第一个问题,所以如果你们想纠正我的举止和糟糕的英语,我会理解的(这不是我的母语,我必须习惯它)
先感谢您!
解决方案
鉴于您的情况,我可以想出几种方法来解决这个问题,这不是特定于 Maven 的,而是特定于终端的——
- 将对您的脚本的引用添加
maven.sh
到您的配置文件中,以便它在您启动终端会话时运行。这通常可以通过.bash_profile
在主目录中创建(或添加)文件来完成。您可以将maven.sh
脚本的内容添加到该文件中,也可以添加到该文件中source /etc/profile.d/maven.sh
。从那时起,当您启动终端会话时,脚本会自动运行并且您的变量设置正确。有关登录 shell 的更多详细信息,请参见https://joshstaiger.org/archives/2005/07/bash_profile_vs.html或手册页bash
- 如果您已经完成了第一步但没有成功,请考虑检查这些环境变量是否设置在其他位置(检查 ~/.bashrc、~/.bash_profile 以及您的特定 shell 分发/操作系统的任何位置检查启动脚本
- 最后,我推荐使用 SDKMan!在没有这些麻烦的情况下管理 Maven 安装 - 但您的里程可能会有所不同。它处理跟踪环境变量、Java 版本和 &c 并允许安装和管理多个 Java/Maven 版本。https://sdkman.io
资料来源:
推荐阅读
- python-3.x - Python Min Max While 循环
- android - java.lang.IllegalArgumentExceptionIllegalArgumentException:索引 2 处的绑定值为 null
- php - Laravel 验证只允许某些字符
- r - 从 R 中的 INLA.surv 模型中提取努力成功关系
- c# - 使用数据库中的openxml生成excel表
- typescript - 来自 promise 的等待函数
- json - 如何在 talend 中将 JSON 发送到 RestAPI?
- python - 在带有尾随零的列中写入 pandas 数据帧 to_csv
- c++ - Why doesn't connect() function see Slot?
- php - 使用 PHP 通过 Telnet 连接重启机器?