【问题标题】:On "mvn install" command errors with and without "sudo" ("JAVA_HOME" and "--release" flag respectively)在带有和不带有“sudo”的“mvn install”命令错误(分别为“JAVA_HOME”和“--release”标志)
【发布时间】:2021-01-29 23:09:06
【问题描述】:

我有一个包含.pom 文件的项目。根据说明,我应该先运行mvn install 命令。当我运行命令时,我收到以下错误:

Caused by: org.apache.maven.plugin.MojoExecutionException: Fatal error compiling   

Caused by: org.codehaus.plexus.compiler.CompilerException: invalid flag: --release

Caused by: java.lang.IllegalArgumentException: invalid flag: --release

但是,当我使用sudo (sudo mvn install) 运行命令时,我收到以下错误:

The JAVA_HOME environment variable is not defined correctly
This environment variable is needed to run this program
NB: JAVA_HOME should point to a JDK not a JRE

但是mvn -version命令的结果如下:

Apache Maven 3.6.0
Maven home: /usr/share/maven
Java version: 1.8.0_265, vendor: Private Build, runtime: /usr/lib/jvm/java-8-openjdk-amd64/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "5.4.0-42-generic", arch: "amd64", family: "unix"

另一方面,我在~/.bashrc 文件中添加了以下内容:

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export PATH=/usr/share/maven/bin/mvn:$PATH
export PATH=$JAVA_HOME/bin:$PATH

echo $JAVA_HOME 的结果是:

/usr/lib/jvm/java-8-openjdk-amd64

java -version 的结果是:

openjdk version "1.8.0_265"
OpenJDK Runtime Environment (build 1.8.0_265-8u265-b01-0ubuntu2~18.04-b01)
OpenJDK 64-Bit Server VM (build 25.265-b01, mixed mode)

此外,我还考虑了许多与我的问题相关的帖子,例如 post1post2post3post4(它们是关于 windows 中的 maven,与我的 Ubuntu 操作系统相反)或 @ 987654325@(我没有同样的问题,因为我不在VM上或mvn -version有任何问题。但是,mvn version命令指向JRE,但所有环境变量都已正确设置为指向JDK)。但是,他们都没有解决它。

【问题讨论】:

    标签: java maven ubuntu sudo


    【解决方案1】:

    当您使用sudo 运行命令时,当前(非特权)shell 中的环境变量不会传递到运行命令的环境。

    试试这个:

    $ export FOO=BAR
    $ sudo export
    

    您不会在变量列表中看到 FOO。

    因此,当您运行 sudo mvn ... 时,JAVA_HOME 设置不会被传递给 Maven,它会这么说。

    如果要传递所有环境变量,请使用sudo -E 或类似名称。这在sudo 的手动条目中进行了说明。

    【讨论】:

      【解决方案2】:

      我有一个类似的设置,并且可以正常工作。你可以试试这个设置,如果可能的话尝试重启系统。

      export JAVA_HOME=/usr/lib/jvm/jdk-11.0.8

      export PATH=${PATH}:${JAVA_HOME}/bin

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-03-11
        • 2016-01-11
        • 1970-01-01
        • 2016-04-14
        • 1970-01-01
        • 2018-10-08
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多