$JAVA_HOME не соответствует версии java в git bash (последнее обновление)

Мне пришлось восстановить мою установку Java. С момента установки java -version и $JAVA_HOME не совпадают в GitBash. Путь неверный, поэтому я не могу запустить Java CLI из него, я должен использовать Windows CMD. Как я могу решить эту проблему?

Вчера я удалил Java с C/Program Files/Java и установил обновление (после удаления всех папок Java) на C/Java.

Из Windows CMD версия Java и ее путь совпадают:

C:\Users\Quentin.FRL-FKNJNQ2>java -version
java version "1.8.0_201"
Java(TM) SE Runtime Environment (build 1.8.0_201-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)

C:\Users\Quentin.FRL-FKNJNQ2>echo %JAVA_HOME%
C:\Java\jdk1.8.0_201

И когда я выполняю аналогичную команду на GitBash, вот что я получаю:

Quentin@FRL-FKNJNQ2 MINGW64 ~
$ java -version
java version "1.8.0_201"
Java(TM) SE Runtime Environment (build 1.8.0_201-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)

Quentin@FRL-FKNJNQ2 MINGW64 ~
$ echo $JAVA_HOME
/C/Program Files/Java/jdk1.8.0_181/

Путь на GitBash — это старая версия Java. Папка, на которую указывает команда echo $JAVA_HOME, больше не существует.

Я уже пытался удалить java и gitbash, а затем установить их обратно, но это не решило проблему.

Кто-нибудь знает, как исправить или есть идеи, где искать?

Заранее спасибо ;)

PS: Проблема с бином решена.

Путь пришлось переписать в bashrc


Вот что я запускаю GitBash -x :

  • $JAVA_HOME
Quentin@FRL-FKNJNQ2 MINGW64 /
$ echo $JAVA_HOME
 + echo /C/Program Files/Java/jdk1.8.0_181/
/C/Program Files/Java/jdk1.8.0_181/
++ __git_ps1
++ local exit=0
++ local pcmode=no
++ local detached=no
++ local 'ps1pc_start=\u@\h:\w '
++ local 'ps1pc_end=\$ '
++ local 'printf_format= (%s)'
++ case "$#" in
++ printf_format=' (%s)'
++ local ps1_expanded=yes
++ '[' -z '' ']'
++ '[' -z '4.4.23(1)-release' ']'
++ shopt -q promptvars
++ local repo_info rev_parse_exit_code
+++ git rev-parse --git-dir --is-inside-git-dir --is-bare-repository --is-inside-work-tree --short HEAD
++ repo_info=
++ rev_parse_exit_code=128
++ '[' -z '' ']'
++ return 0
  • Java-версия
Quentin@FRL-FKNJNQ2 MINGW64 /
$ java -version
+ java -version
java version "1.8.0_201"
Java(TM) SE Runtime Environment (build 1.8.0_201-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)
++ __git_ps1
++ local exit=0
++ local pcmode=no
++ local detached=no
++ local 'ps1pc_start=\u@\h:\w '
++ local 'ps1pc_end=\$ '
++ local 'printf_format= (%s)'
++ case "$#" in
++ printf_format=' (%s)'
++ local ps1_expanded=yes
++ '[' -z '' ']'
++ '[' -z '4.4.23(1)-release' ']'
++ shopt -q promptvars
++ local repo_info rev_parse_exit_code
+++ git rev-parse --git-dir --is-inside-git-dir --is-bare-repository --is-inside-work-tree --short HEAD
++ repo_info=
++ rev_parse_exit_code=128
++ '[' -z '' ']'
++ return 0

При выполнении java используется PATH, а не JAVA_HOME. JAVA_HOME используется только java-приложениями, которым необходимо найти компилятор JDK.

Robert 22.01.2019 22:07
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
3
1
1 018
1

Ответы 1

Запустите GitBash с вариант -x, чтобы включить отладку. Это выведет трассировку для каждой команды, выполняемой bash. Вы должны быть в состоянии сказать, в какой момент переменной env JAVA_HOME установлено значение jdk1.8.0_181.

Другие вопросы по теме

Похожие вопросы

Мой код проходит все указанные тесты для CodingBat, но не проходит «другие тесты». Я не уверен, в чем моя проблема
API-интерфейс Spring Boot Rest - Querydsl, предикат не должен быть нулевым
Какой подходящий прослушиватель использовать для обнаружения движения/щелчка в текстовом поле JDatePicker?
Связь между сокетами перестает работать после одного сообщения. Боевой КорабльGame Swing
Загрузите зависимости java maven с помощью загрузчика классов java
Добавляет значение в связанный список вместо определенного значения — JAVA
Сайт не загружает ресурсы
Как использовать таблицы данных angular 6 с наблюдаемыми данными со стороны сервера (MySQL, Java, Springboot и спящий режим) или как преобразовать наблюдаемые в массив?
Как поставить что-то вроде точки с запятой или двоеточия после запроса у пользователя подсказки в Java
Не удалось собрать открытый jdk 8 из исходного кода, Ubuntu 18.04, 64-битная версия