Если нельзя, но очень хочется, то нужно обязательно и ничего в мире не стоит того, чтобы делать из этого проблему!


Интересна Java? Кликай по ссылке и регистрируйся!
Если тебе полезно что-то из того, чем я делюсь в своем блоге - можешь поделиться своими деньгами со мной.
с пожеланием
столько времени читатели провели на блоге - 
сейчас онлайн - 

суббота, 1 ноября 2014 г.

Хочешь обрадовать java разработчика? Скопируй ему в c:\windows\system32 java.exe

Вчера битый час долбались с напарником, чтобы понять почему у него джава одной версии, хотя JAVA_HOME + Path указывают на другую.
Оказывается, кто-то установил в 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? :)

2 комментария:

  1. Тут есть несколько нюансов.
    Поиск 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. :)

    ОтветитьУдалить
  2. Спасибо за подробный коммент Олег.

    ОтветитьУдалить