Java 和 Maven 不断从 ~/.profile 重置

标签 java linux maven ubuntu

我有一台安装了 Java 和 Maven 的 Ubuntu 机器。但是,每当我运行 java -version 时,我都会收到

Command 'java' not found, but can be installed with:

sudo apt install default-jre            
sudo apt install openjdk-11-jre-headless
sudo apt install openjdk-8-jre-headless 

每当我运行mvn -version时,我都会得到

Command 'mvn' not found, but can be installed with:

sudo apt install maven

我确实尝试了一切,从在 ~/.profile 中添加额外的行到在 /etc/environment 中添加相同的行。

现在,看看我做了什么(在新终端中):

  1. java -版本
  2. mvn -版本
  3. sudo nano ~/.profile
  4. 源 ~/.profile
  5. java -版本
  6. mvn -版本

输出:

  1. 未找到命令“java”,但可以使用以下命令安装:

sudo apt install default-jre
sudo apt install openjdk-11-jre-headless sudo apt install openjdk-8-jre-headless

  • 未找到命令“mvn”,但可以使用以下命令安装:
  • sudo apt install maven

  • 无输出
  • 无输出
  • java 版本“1.8.0_211” Java(TM) SE 运行时环境(版本 1.8.0_211-b12) Java HotSpot(TM) 64 位服务器 VM(内部版本 25.211-b12,混合模式)

  • Apache Maven 3.6.1(d66c9c0b3152b2e69ee9bac180bb8fcc8e6af555;2019-04-05T00:00:29+05:00) Maven 主页:/home/alex/apache-maven-3.6.1 Java 版本:1.8.0_211,供应商:Oracle Corporation,运行时:/usr/lib/jvm/jdk1.8.0_211/jre 默认区域设置:en_US,平台编码:UTF-8 操作系统名称:“linux”,版本:“5.0.0-31-generic”,架构:“amd64”,系列:“unix”

  • 我不知道为什么会发生这种情况。因此,每当我打开一个新终端并尝试做一些像运行 java 程序这样简单的事情时,我都必须一遍又一遍地这样做。

    我添加的行是(尽管它们一直存在)

    JAVA_HOME=/usr/lib/jvm/jdk1.8.0_211
    export JAVA_HOME
    PATH=$PATH:$JAVA_HOME/bin
    export PATH=$M2:$PATH
    export M2_HOME=/home/alex/apache-maven-3.6.1
    export M2=$M2_HOME/bin
    

    有什么问题吗?提前致谢。

    最佳答案

    当您定义PATH=$M2:$PATH时,变量M2尚未定义。 export PATH=$M2:$PATH 应该在之后定义export M2=$M2_HOME/bin,而不是之前。

    关于Java 和 Maven 不断从 ~/.profile 重置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58659065/

    相关文章:

    java - 在java中,向具有特定模式的字符串添加掩码的正则表达式是什么

    javax.mail.MessagingException : Could not connect to SMTP host: localhost, 端口:25

    Eclipse 停止将项目的任何 [maven] 依赖项部署到 tomcat

    linux - 子域上的 SVN,无法从 apache/plesk/setup 中的 .htpasswd 授权用户

    java - 如何避免 jsonschema2pojo 生成我已有的重复类?

    java - Eclipse - 当涉及 Maven 时为 "Run as Java Application"

    java - Spring @WithMockUser 和 request.IsUserInRole()

    java - 我可以相信操作系统调度线程 "optimal"(并行化)

    java - 从 Java 程序访问 Linux 环境变量

    linux - 执行 git push 时如何修复 .git/directory 被拒绝的权限?