Администрирование Windows Установка JDK (Java) вручную Fri, December 13 2024  

Поделиться

Нашли опечатку?

Пожалуйста, сообщите об этом - просто выделите ошибочное слово или фразу и нажмите Shift Enter.


Установка JDK (Java) вручную Печать
Добавил(а) microsin   

Недавно прекратили поддерживать Windows XP, и все чаще попадаются грабли, связанные с потерей совместимости. Сегодня столкнулся с проблемой установки новой версии Java SE 1.8.0_05 (установочный пакет jdk-8u5-windows-i586.exe). Инсталлятор оказался несовместимым с 32-битной Windows XP SP3, и выдавал ошибку: "procedure entry point RegDeleteKeyExA could not be located in the dynamic link library ADVAPI32.dll". В переводе на русский язык "точка входа в процедуру RegDeleteKeyExA не найдена в DLL ADVAPI32.dll". В этой статье описан пошаговый процесс ручной, без инсталлятора, установки Java, если по какой-то причине она у Вас не устанавливается.

[Какая текущая версия JDK/Java?]

Иногда полезно узнать, какая версия JDK (Java) сейчас установлена на компьютере. Для этого откройте консоль (запустите интерпретатор CMD) и введите команду:

java -version

В результате будет выведено что-то наподобие:

java version "1.7.0_45"
Java(TM) SE Runtime Environment (build 1.7.0_45-b02)
Java HotSpot(TM) Client VM (build 25.5-b02, mixed mode)

Примечание: когда Java установлена, то её исполняемый файл находится в путях запуска. Это либо каталог %Windows%\system32, либо каталог, указанный через переменную Path, например c:\Program Files\Java\jdk1.7.0_45\bin.

[Процесс ручной установки Java (JDK)]

1. Сначала удалите старую версию Java. Это можно сделать через Панель управления -> Установка и удаление программ. Найдите в списке установленных программ все программы, которые начинаются с "Java", и удалите их. После успешного удаления должна перестать выполняться команда java -version, и должны перестать запускаться программы, которые написаны на Java (например, ADT или Eclipse).

2. Закачайте новую версию Java с сайта Oracle [1]. Это будет исполняемый файл наподобие jdk-8u5-windows-i586.exe. Обычно этот файл просто запускают, и он берет всю работу по инсталляции на себя. Если это так, и у Вас процесс инсталляции прошел без ошибок, то дальше можете не читать. Если же нет, и автоматическая инсталляция невозможна (например, Вы получаете ошибку "RegDeleteKeyExA не найдена в DLL ADVAPI32.dll"), то придется немного поработать, чтобы установить Java.

3. Запустите бесплатный архиватор 7-zip, и откройте им файл jdk-8u5-windows-i586.exe. В этом файле будет находиться файл наподобие tools.zip, распакуйте его в любую временную папку на диске.

4. Распакуйте содержимое файла tools.zip в папку наподобие c:\Program Files\Java\jdk1.8.5\. Здесь jdk1.8.5 просто произвольное имя, отражающее версию скачанного JDK. В результате должна получиться примерно такая структура папок:

c:\Program Files\Java\jdk1.8.5>dir
 Том в устройстве C не имеет метки.
 Серийный номер тома: 7CCB-BDB0
 Содержимое папки c:\Program Files\Java\jdk1.8.5
05.05.2014  22:54    < DIR >          .
05.05.2014  22:54    < DIR >          ..
05.05.2014  20:48    < DIR >          bin
05.05.2014  20:48    < DIR >          db
05.05.2014  20:48    < DIR >          include
18.03.2014  03:14           4 673 034 javafx-src.zip
05.05.2014  20:48    < DIR >          jre
05.05.2014  21:37    < DIR >          lib
18.03.2014  03:14                  40 LICENSE
18.03.2014  03:14                 159 README.html
18.03.2014  03:15                 526 release
18.03.2014  03:14             123 324 THIRDPARTYLICENSEREADME-JAVAFX.txt
18.03.2014  03:14             178 445 THIRDPARTYLICENSEREADME.txt
               6 файлов        4 975 528 байт
               7 папок    706 576 891 904 байт свободно
c:\Program Files\Java\jdk1.8.5>

5. Добавьте в переменную окружения %Path% путь c:\Program Files\Java\jdk1.8.5\bin.

6. Добавьте (или измените) переменную окружения %JAVA_HOME%. Она должна указывать на новое положение папки bin:

JAVA_HOME=c:\Program Files\Java\jdk1.8.5

Перелогиньтесь, чтобы изменения в переменных окружения вступили в силу.

В переменной окружения PATH (в командных файлах и в строке интерпретатора cmd для составления путей на неё ссылаются как на %Path%) хранятся пути поиска исполняемых файлов. Это нужно для того, чтобы не надо было вводить длинную строку пути до исполняемого файла, в нашем случае это java.exe и другие утилиты JDK. Т. е. если в переменной Path прописан путь до java.exe, то можно не утруждать себя вводом полного пути до java.exe, операционная система Windows будет знать, где искать исполняемый файл.

Все переменные окружения, в том числе и Path, могут быть просмотрены, изменены, удалены и добавлены командой SET. В переменной Path может быть прописано множество путей. Каждая запись пути отделяется от другой точкой с запятой. Вот например, как можно просмотреть содержимое переменной окружения Path:

c:\>SET PATH
Path=C:\Program Files\PC Connectivity Solution\;c:\Program Files\Atmel\AVR Tools
\AVR Toolchain\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\system32\WBEM;C:\Xi
linx\11.1\ChipScope\bin\nt;C:\Xilinx\11.1\common\bin\nt;C:\Xilinx\11.1\common\li
b\nt;C:\Xilinx\11.1\EDK\bin\nt;C:\Xilinx\11.1\EDK\lib\nt;C:\Xilinx\11.1\PlanAhea
d\bin;C:\Xilinx\11.1\ISE\bin\nt;C:\Xilinx\11.1\ISE\lib\nt;c:\WinAVR-20100110\bin
;c:\WinAVR-20100110\utils\bin;c:\devkitPro\msys\bin;C:\Program Files\ATI Technol
ogies\ATI.ACE\Core-Static;C:\WINDOWS\system32\WindowsPowerShell\v1.0;C:\Program
Files\TortoiseHg\;C:\Program Files\TortoiseSVN\bin;C:\Program Files\IVI Foundati
on\IVI\bin;C:\Program Files\IVI Foundation\VISA\WinNT\Bin\;C:\PROGRA~1\IVIFOU~1\
VISA\WinNT\Bin;C:\Program Files\Common Files\Adobe\AGL;C:\Program Files\Microsof
t SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\
;C:\Program Files\OpenVPN\bin;c:\Program Files\Android\apache-ant-1.9.3\bin;c:\P
rogram Files\Android\android-studio\sdk\tools;c:\Program Files\Android\android-s
tudio\sdk\platform-tools;c:\android-ndk-r9c;c:\Program Files\Java\jdk8u5\bin;C:\
Program Files\TortoiseGit\bin;C:\Program Files\IVI Foundation\VISA\WinNT\Bin;C:\
Program Files\ATMEL Corporation\sam-ba_2.11\drv\;C:\Program Files\ATMEL Corporat
ion\sam-ba_2.11;C:\Program Files\ATMEL\FLIP 2.4.6\bin;C:\Program Files\Nmap;c:\M
inGW\bin;C:\Program Files\Atmel\Flip 3.4.7\bin;c:\Program Files\GPAC;C:\Program
Files\Common Files\Ahead\Lib\;C:\Program Files\Common Files\Ahead\Lib\
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.PSC1

Однако новичкам намного проще использовать для редактирования переменной окружения Path инструмент Пуск -> Панель управления -> Система -> закладка Дополнительно -> кнопка внизу Переменные среды. Откроется окно, в котором можно просмотреть (и отредактировать) как настройку Path для текущего пользователя (в верхней части окна "Переменные среды пользователя"), так и настройку Path для всей системы (в нижней части окна "Системные переменные", эта настройка влияет на всех пользователей). Я советую вносить изменения в "Системные переменные".

7. Найдите в папке jdk1.8.5 все файлы с расширением *.pack и распакуйте их с помощью распаковщика unpack200.exe (он находится в папке c:\Program Files\Java\jdk1.8.5\bin), чтобы получить соответствующие файлы *.jar. Все файлы с расширением *.pack можно найти с помощью финдера Windows (вызывается по кнопке F3), или с помощью Total Commander.

Java-pack-search

Каждый файл *.pack можно распаковать командой наподобие (на примере файла rt.pack):

"%JAVA_HOME%\bin\unpack200" -r rt.pack rt.jar

Примечание: полностью распакованные файлы - всю структуру каталогов, которую достаточно положить в c:\Program Files\Java\, останется только настроить %Path% и %JAVA_HOME% (по шагам 5 и 6) - можно скачать в архиве [2].

На этом установка Java завершена, команда java -version должна нормально отрабатывать из любого каталога.

C:\>java -version
java version "1.8.0_05"
Java(TM) SE Runtime Environment (build 1.8.0_05-b13)
Java HotSpot(TM) Client VM (build 25.5-b02, mixed mode)

Примечание: получается, что на одном компьютере может быть одновременно установлено любое количество разных версий Java. Какая версия в данный момент активна, будет определяться исключительно значениями пути в переменной %Path% до каталога bin, и значением переменной окружения %JAVA_HOME% (см. шаги 5 и 6).

[Ярлыки для Java]

После того, как Вы вручную установили Java и проверили её работу, можно сделать ярлыки для некоторых часто используемых функций (см. таблицу ниже). Путь до javacpl.exe нужно указать реально существующий (в ту папку, куда вы копировали файлы Java).

Ярлык Командная строка ярлыка
About Java "c:\Program Files\Java\jre1.5.0_11\bin\javacpl.exe" -tab about
Check For Updates "c:\Program Files\Java\jre1.5.0_11\bin\javacpl.exe" -tab update
Configure Java "c:\Program Files\Java\jre1.5.0_11\bin\javacpl.exe"
Get Help http://java.com/help
Visit Java.com http://java.com/

[Ссылки]

1. Java Downloads site:www.oracle.com.
2. 140505jdk1.8.0.zip - полностью обработанная структура папок 32-битного JDK (*.pack уже распакованы, осталось папку из архива положить в c:\Program Files\Java\).
3160228jdk-8u73.zip - полностью обработанная структура папок 64-битного JDK (*.pack уже распакованы, осталось папку из архива положить в c:\Program Files\Java\).

 

Комментарии  

 
0 #15 husan 28.02.2020 20:48
Цитирую Alex:
Странно, но 7z показывает содержимое:
.data
.rdata
.reloc
.rsrc
.text
CERTIFICATE

причем без разницы, какой версии java - хоть jre-8u5-windows-i586.exe
хоть jre-8u91-windows-i586.exe. У файла jdk-8u101-windows-i586.exe
другое содержимое:
jaureg
jusched
jucheck

Как отсюда вытащить tools.zip, понятия не имею.


У меня было также, потом я скачал ту версию, на котором он показывает и все заработало.
Цитировать
 
 
-1 #14 Dim 03.03.2019 18:26
Большое спасибо за статью и за распакованную папку(структуру . Самому не удалось, выходит какая то билиберда с файлами "string.txt". По предложению одного из комментаторов сделал batник.
Цитировать
 
 
+1 #13 Роман 25.07.2018 16:33
Скачал готовый zip-архив 32 бит и поставил в C:Program FilesJavajdk1.8.0 дальше я создал JAVA_HOME и внес туда C:Program FilesJavajdk1.8.0. После этого в Path поставил %JAVA_HOME%bin,
после этого пошли проблемы: в финдере не нашло никаких патчей. Забил на это. Захожу в cmd и пишу java -version и после этого вижу сообщение: "java" не является внутренней или внешней командой, исполняемой программой или пакетным файлом.

microsin: неправильно прописали путь в переменной окружения %PATH%.
Цитировать
 
 
+3 #12 YOLO 10.02.2017 13:47
Получилось так, windows 10, 64 бита:
1) добавил в системных переменных JAVA_HOME=C:Program FilesJavajdk1.7.0_80
2) добавил в PATH %JAVA_HOME%bin
3) И тут ВНИМАНИЕ! Заработало после того, как удалил в C:Windowssystem 32 исполняемые файлы java.exe, javaw.exe и javaws.exe.
Цитировать
 
 
+2 #11 Alex 11.10.2016 14:05
Странно, но 7z показывает содержимое:
.data
.rdata
.reloc
.rsrc
.text
CERTIFICATE

причем без разницы, какой версии java - хоть jre-8u5-windows-i586.exe
хоть jre-8u91-windows-i586.exe. У файла jdk-8u101-windows-i586.exe
другое содержимое:
jaureg
jusched
jucheck

Как отсюда вытащить tools.zip, понятия не имею.
Цитировать
 
 
0 #10 Тима 28.02.2016 20:20
microsin у меня не получается сделать, пробовал твою готовую закинуть, но это оказалось 32 битная не подходит, пожалуйста, можешь сделать точно такую же на 64 битную винду??

microsin: сегодня не получится, дома у меня 32-битная машинка. Разве что завтра, 64-битный JDK у меня на работе должен стоять. Кстати: а что не так с 32-битной версией JDK? Обычно 32-битные приложения нормально должны работать на 64-битной машине.

Если не хотите ждать, советую временно развернуть виртуальную машину (например на основе VirtualBox) и на неё накатить JDK, который нужен.
Цитировать
 
 
0 #9 Alex 22.12.2015 15:15
Спасибо за статью. Сейчас пытаюсь подружить JAVA с Windows 10 (64bit).
Установщик с последней версией JAVA пишет, что все хорошо встало. Но файл конфигурации javacpl.exe не запускается, и думается все это чудо не работает. Пробовал JAVA для 32 и для 64 систем - результат одинаковый. Писать путь тоже пробовал. Подскажите куда копать?

microsin: не знаю, к сожалению, что посоветовать, кроме как проверить еще раз разрешения безопасности, и обратиться с вопросом к разработчикам Java.
Цитировать
 
 
0 #8 Zmeika 18.11.2015 12:25
Такая проблема: установила Android Studio последнюю версию, jdk1.7.0_79 на Windows XP SP3-32. JAVA_HOME прописала. При запуске выдает: Failed to create JVM ... На Eclipse все работало. Искать старую версию studio?

microsin: скорее всего сама среда Android Studio тут ни при чем. У Вас не запускается среда выполнения Java, т. е. либо нужная JVM неправильно установлена, либо не прописаны пути поиска исполняемых файлов JVM (не настроена переменная окружения %Path%), либо не добавлены специфические для Android Studio переменные окружения. Прогуглите Вашу ошибку, наверняка быстро найдете решение.
Цитировать
 
 
0 #7 Игорь 13.10.2015 22:58
Не стал заморачиваться, а просто положил папку и JDK. А потом установил netbeans-8.0.2 - и он сам нашел JDK. Без всяких админских штучек :)
Цитировать
 
 
+1 #6 Игорь 25.09.2015 16:58
Спасибо за статью, все получилось, но с напильником.
Добавьте в статье, может пригодиться кому.
В пункте 7 я создал батник, в него забил строчки на подобии таких
"%JAVA_HOME%\bin\unpack200" -r "%JAVA_HOME%\lib\tools.pack" "%JAVA_HOME%\lib\tools.jar"

"%JAVA_HOME%\bin\unpack200" -r "%JAVA_HOME%\jre\lib\ext\jf xrt.pack" "%JAVA_HOME%\jre\lib\ext\jf xrt.jar"

"%JAVA_HOME%\bin\unpack200" -r "%JAVA_HOME%\jre\lib\ext\lo caledata.pack" "%JAVA_HOME%\jre\lib\ext\lo caledata.jar"

Тогда все распаковалось, т.е. нужно в каждой строке при обращение к архиватору unpack200 писать точный адрес расположения файла.
Цитировать
 

Добавить комментарий


Защитный код
Обновить

Top of Page