JAVA_HOME 未出现且 MAVEN_HOME 设置不正确

标签 java maven path java-home

我通过将/bin 添加到 PATH 并创建一个没有/bin 的 JAVA_HOME 来安装 OpenJDK 12。

证明这是可行的:

  C:\Users\rakoo>java -version
  openjdk version "12.0.1" 2019-04-16
  OpenJDK Runtime Environment (build 12.0.1+12)
  OpenJDK 64-Bit Server VM (build 12.0.1+12, mixed mode, sharing)

  C:\Users\rakoo>javac -version
  javac 12.0.1

  C:\Users\rakoo>echo %JAVA_HOME%
  C:\Program Files\Java\jdk-12.0.1

问题是我在 cmd 中键入 mvn -v 时得到的结果。

 Apache Maven 3.6.1 (d66c9c0b3152b2e69ee9bac180bb8fcc8e6af555; 2019-04- 
 04T21:00:29+02:00)
 Maven home: C:\Program Files\apache-maven-3.6.1\bin\..
 Java version: 12.0.1, vendor: Oracle Corporation, runtime: C:\Program 
 Files\Java\jdk-12.0.1
 Default locale: en_US, platform encoding: Cp1252
 OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"

如您所见,没有“Java home:”,maven home 设置不正确。我创建了名为 MAVEN_HOME 的系统变量,其值设置为 C:\Program Files\apache-maven-3.6.1。

证明 MAVEN_HOME 已设置:

C:\Users\rakoo>echo %MAVEN_HOME%
C:\Program Files\apache-maven-3.6.1

Screenshots我的路径和系统变量。

我该如何解决这个问题?

最佳答案

在 Maven 版本 3.6.1 中,他们已经从版本命令 (mvn -v) 的 Maven 输出中删除了“JAVA HOME”属性,但这不会造成任何问题。您可以引用以下链接中的 CLIReportingUtils.showVersion() 方法:

https://github.com/apache/maven/blob/maven-3.6.1/maven-embedder/src/main/java/org/apache/maven/cli/CLIReportingUtils.java

public static String showVersion()
{
    final String ls = System.getProperty( "line.separator" );
    Properties properties = getBuildProperties();
    StringBuilder version = new StringBuilder( 256 );
    version.append( buffer().strong( createMavenVersionString( properties ) ) ).append( ls );
    version.append( reduce(
        properties.getProperty( "distributionShortName" ) + " home: " + System.getProperty( "maven.home",
                                                                                            "<unknown Maven "
                                                                                                + "home>" ) ) )
        .append( ls );
    version.append( "Java version: " ).append(
        System.getProperty( "java.version", "<unknown Java version>" ) ).append( ", vendor: " ).append(
        System.getProperty( "java.vendor", "<unknown vendor>" ) ).append( ", runtime: " ).append(
        System.getProperty( "java.home", "<unknown runtime>" ) ).append( ls );
    version.append( "Default locale: " ).append( Locale.getDefault() ).append( ", platform encoding: " ).append(
        System.getProperty( "file.encoding", "<unknown encoding>" ) ).append( ls );
    version.append( "OS name: \"" ).append( Os.OS_NAME ).append( "\", version: \"" ).append( Os.OS_VERSION ).append(
        "\", arch: \"" ).append( Os.OS_ARCH ).append( "\", family: \"" ).append( Os.OS_FAMILY ).append( '\"' );
    return version.toString();
}

关于JAVA_HOME 未出现且 MAVEN_HOME 设置不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55869239/

相关文章:

java - Restful 报告仪表板

java - Maven + Tomcat + Eclipse Java 热插拔

windows - Curl for Windows - curl 无法打开文件 C :\test. txt

java - 为矩阵上的随机元素设置值

java - 如果 try block 不包含显式抛出异常的代码,是否有理由捕获异常并再次抛出异常?

java - 无法使用 -cp 和 jar 位置使用 Java ProcessBuilder 找到或加载类

java - 在多个项目中管理 Spring Boot 父 POM 版本

java - 如果单词对于 TextView 来说太长,则强制下一个单词换行

java - 在 Java FX 中定义图像的相对路径

windows - “git”不被识别为内部或外部命令