1

Я использую 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 который был только 20K. Большинство других находятся в диапазоне 2000K, но различаются как по размеру, так и по дате.

Безопасно ли избавиться от любого из них? Как программа определяет, какую копию java.exe (или javaw.exe) запустить? Могу ли я безопасно очистить это?

2 ответа2

1

Держи их всех.

Если в подпапке папки программы есть java.exe , то, вероятно, можно предположить, что программа, в папке которой находится java.exe использует эту версию.

Компьютер не может иметь только один исполняемый файл во всей системе с заданным именем. Это ничем не отличается от наличия, скажем, двух документов Word с одинаковым именем: они должны находиться в разных папках, но они не конфликтуют. Когда программа пытается открыть ее, она знает, в какую папку искать. Часто программист вручную говорит, где искать (например, «запустить bin/java.exe »). В других случаях он будет искать в предоставленном ОС список папок, в которых он может найти исполняемые файлы. Любой из них возможен; если программа поставляется в комплекте с java.exe , скорее всего, первая.

В общем, если программа поставляется в комплекте с чем-то вроде java.exe , вы, вероятно, должны предположить, что есть причина, по которой она использует этот конкретный java.exe . Не просто удаляйте файлы из каталогов программ. Это может закончиться очень плохо.

0

Да, держите столько, сколько хотите / нуждаетесь. На одном устройстве может быть установлено несколько разных версий Java, и, кроме того, инструменты / приложения могут поставляться со своими собственными версиями.

Посмотрите, где хранятся различные версии (в каком каталоге), чтобы определить, почему они там есть. Некоторые могут быть установлены в каталоге Java, таком как C:\"Program Files"\Java\jdk1.7.0_07\bin\ а другие могут быть установлены в каталогах определенных приложений.

Чтобы узнать, какая из них "активна", когда вы запускаете команду java из командной строки, введите echo %path% в командной строке и обратите внимание на то, какой каталог Java указан в списке.

(И обратите внимание, что если вы удалите версию java.exe, то почти наверняка рядом (гораздо больший) набор JAR-файлов будет, вероятно, также должен быть удален, если вы хотите сэкономить место на диске.)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .