Оказывается, кто-то установил в c:\windows\system32 джаву. Наверное прошлый владелец компьютера.
Одна хорошая команда помогла.
for %i in (java.exe) do @echo. %~$PATH:iВ результате она выведет месторасположение первого найденного java.exe
Для linux команда
which javaКак потом вытравить всю джаву из папки c:\windows\system32 ? Перезаписали из jdk/bin все файлы поверх тех, что были в c:\windows\system32 а потом F9-C-C в Far и удалили идентичные.
А ты куда устанавливаешь свою java? :)
Тут есть несколько нюансов.
ОтветитьУдалитьПоиск exe файлов в Windows для запуска из консоли происходит в том порядке, в котором папки были указаны в PATH. Из этого следует, что, если в PATH порядок следования будет таким: JAVA_HOME\bin;{path} (JAVA_HOME первый) - в нем будет происходит поиск java.exe перед тем, как дойдет до %WINDOWS%\System32. - Если взять за правило именно так прописывать JAVA_HOME - такой проблемы как в посте никогда не будет.
Идем дальше.
%WINDOWS%\System32\java.exe - чаще всего java там оказывается при установке отдельного JRE.
И скрипт для определения того, какая java сейчас находится первой в PATH в Windows можно заменить командой "where": where java - делает то же, что и "which java" в Linux. :)
Спасибо за подробный коммент Олег.
ОтветитьУдалить