JAVA_HOME путь, не указывающий на правильный путь

#java #maven #java-home

#java #maven #java-home

Вопрос:

Я использую среду VPN для кода. Все работало нормально, но теперь я не могу выполнять maven команды.

Ошибка, которую я получаю, это :

 NB: JAVA_HOME should point to a JDK not a JRE
  

Теперь, когда я запускаю следующее: %JAVA_HOME% я получаю следующее: C:Program Filesapache-maven-3.6.3bin вместо C:Program FilesJavajdk1.8.0_251

И запуск : java -XshowSettings:properties version

 Property settings:
    awt.toolkit = sun.awt.windows.WToolkit
    file.encoding = Cp1252
    file.encoding.pkg = sun.io
    file.separator = 
    java.awt.graphicsenv = sun.awt.Win32GraphicsEnvironment
    java.awt.printerjob = sun.awt.windows.WPrinterJob
    java.class.path = .
    java.class.version = 52.0
    java.endorsed.dirs = C:Program FilesJavajdk1.8.0_251jrelibendorsed
    java.ext.dirs = C:Program FilesJavajdk1.8.0_251jrelibext
        C:WINDOWSSunJavalibext
    java.home = C:Program FilesJavajdk1.8.0_251jre
    java.io.tmpdir = C:UsersLOCAL_~1.AHMTemp
    java.library.path = C:Program FilesJavajdk1.8.0_251bin
        C:WINDOWSSunJavabin
        C:WINDOWSsystem32
        C:WINDOWS
        C:Python38Scripts
        C:Python38
        
        C:Program Filesnodejs
        C:ProgramDatachocolateybin
        C:Program Files (x86)Yarnbin
        C:Program FilesJavajdk1.8.0_251bin
        C:Program FilesJavajdk1.8.0_251jrebin
        C:WINDOWSsystem32
        C:WINDOWS
        C:WINDOWSSystem32Wbem
        C:WINDOWSSystem32WindowsPowerShellv1.0
        C:WINDOWSSystem32OpenSSH
        C:Program Filesapache-maven-3.6.3binbin
        C:gradle-6.5bin
        %M2_HOME%bin
        C:Program Files (x86)sbtbin
        C:Program FilesDockerDockerresourcesbin
        C:ProgramDataDockerDesktopversion-bin
        C:Program FilesPuTTY
        C:Program FilesGitcmd
        C:Program FilesMicrosoft Network Monitor 3
        C:Program Filesapache-maven-3.6.3bin
        C:Usersarqam.ahmadAppDataLocalMicrosoftWindowsApps

        .
    java.runtime.name = Java(TM) SE Runtime Environment
    java.runtime.version = 1.8.0_251-b08
    java.specification.name = Java Platform API Specification
    java.specification.vendor = Oracle Corporation
    java.specification.version = 1.8
    java.vendor = Oracle Corporation
    java.vendor.url = http://java.oracle.com/
    java.vendor.url.bug = http://bugreport.sun.com/bugreport/
    java.version = 1.8.0_251
    java.vm.info = mixed mode
    java.vm.name = Java HotSpot(TM) 64-Bit Server VM
    java.vm.specification.name = Java Virtual Machine Specification
    java.vm.specification.vendor = Oracle Corporation
    java.vm.specification.version = 1.8
    java.vm.vendor = Oracle Corporation
    java.vm.version = 25.251-b08
    line.separator = r n
    os.arch = amd64
    os.name = Windows Server 2019
    os.version = 10.0
    path.separator = ;
    sun.arch.data.model = 64
    sun.boot.class.path = C:Program FilesJavajdk1.8.0_251jrelibresources.jar
        C:Program FilesJavajdk1.8.0_251jrelibrt.jar
        C:Program FilesJavajdk1.8.0_251jrelibsunrsasign.jar
        C:Program FilesJavajdk1.8.0_251jrelibjsse.jar
        C:Program FilesJavajdk1.8.0_251jrelibjce.jar
        C:Program FilesJavajdk1.8.0_251jrelibcharsets.jar
        C:Program FilesJavajdk1.8.0_251jrelibjfr.jar
        C:Program FilesJavajdk1.8.0_251jreclasses
    sun.boot.library.path = C:Program FilesJavajdk1.8.0_251jrebin
    sun.cpu.endian = little
    sun.cpu.isalist = amd64
    sun.desktop = windows
    sun.io.unicode.encoding = UnicodeLittle
    sun.java.launcher = SUN_STANDARD
    sun.jnu.encoding = Cp1252
    sun.management.compiler = HotSpot 64-Bit Tiered Compilers
    sun.os.patch.level =
    sun.stderr.encoding = cp437
    sun.stdout.encoding = cp437
    user.script =
    user.timezone =
    user.variant =

java version "1.8.0_251"
Java(TM) SE Runtime Environment (build 1.8.0_251-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.251-b08, mixed mode)
  

Путь Java_Home, похоже, является настройками администратора, которые я не могу изменить сам. Итак, есть ли что-нибудь, что я могу сделать для этой проблемы с моей стороны?

Комментарии:

1. либо получите права администратора, либо измените переменную для вашего пользователя

2. Странно, однако, почему %JAVA_HOME% ссылается на каталог Maven.

Ответ №1:

Изменен

Переменные среды

Надеюсь, проблема будет решена

Новая системная переменная

В моих случаях это выглядит так

введите описание изображения здесь

Ответ №2:

Вы можете переопределить переменную JAVA_HOME, установив ее в файле сценария Maven.

Для этого отредактируйте mvn.cmd и добавьте следующую строку в начало файла:

 set JAVA_HOME="C:Program FilesJavajdk1.8.0_251"
  

Ответ №3:

Добавьте физический путь jdk к переменной среды. Это должно решить проблему