
Я использую 64-битную Windows 7 на четырехъядерном компьютере. Когда я запускаю java -version
в командном окне, я получаю
java version "1.7.0_10"
Java(TM) SE Runtime Environment (build 1.7.0_10-b18)
Java HotSpot(TM) 64-Bit Server VM (build 23.6-b04, mixed mode)
У меня была проблема, когда файлы jar не открывались, когда я пытался их запустить. Я поискал на своем диске java.exe
и нашел много его копий. Большинство из них находятся в подпапках папок программ. Я нашел один, java.exe
который был всего 20 КБ. Большинство других находятся в диапазоне 2000 КБ, но различаются как по размеру, так и по дате.
Безопасно ли избавиться от чего-либо из этого? Как программа определяет, какую копию java.exe
(или javaw.exe
) запустить? Могу ли я безопасно очистить что-либо из этого?
решение1
Сохраните их все.
Если в подпапке папки программы есть java.exe
, можно с уверенностью предположить, что программа, папка которой java.exe
находится, использует эту версию.
Компьютер не ограничен наличием только одного исполняемого файла во всей системе с заданным именем. Это ничем не отличается от наличия, скажем, двух документов Word с одинаковым именем: они должны находиться в разных папках, но они не конфликтуют. Когда программа пытается открыть его, она знает, в какой папке искать. Часто программист вручную указывает, где искать (например, «запустить bin/java.exe
»). В других случаях она будет искать в предоставленном ОС списке папок, где она может найти исполняемые файлы. Возможен любой из вариантов; если программа поставляется в комплекте с java.exe
, то весьма вероятно, что это первый вариант.
В общем, если программа поставляется с чем-то вроде java.exe
, вы, вероятно, должны предположить, что есть причина, по которой она используетчто конкретный java.exe
. Не удаляйте файлы из программных каталогов. Это может закончиться очень плохо.
решение2
Да, оставьте столько, сколько хотите/нужно. Вы можете иметь несколько разных версий Java, установленных на одном компьютере, и, кроме того, инструменты/приложения могут поставляться со своими собственными версиями.
Посмотрите, где хранятся различные версии (в каком каталоге), чтобы определить, почему они там находятся. Некоторые из них могут быть установлены в каталоге Java, например, C:\"Program Files"\Java\jdk1.7.0_07\bin\
а другие могут быть установлены в каталогах определенных приложений.
Чтобы узнать, какой из них «активен» при вводе java
команды из командной строки, введите « echo %path%
Командная строка» и обратите внимание на указанный каталог Java.
(И обратите внимание, что если вы удалите версию java.exe, то почти наверняка поблизости будет (гораздо больший) набор JAR-файлов, которые, вероятно, также следует удалить, если вы хотите сэкономить место на диске.)