Я не уверен, как это произошло, но при запуске панели управления для установки/удаления/изменения прикладного программного обеспечения в моей системе Windows 7 (Home edition) я обнаружил несколько установленных версий Java. Я только что удалил все версии Java 6, я почти уверен, что смогу обойтись без них: но у меня все еще остались следующие версии Java 7:
- Java(TM) 7 (64-битная)
- Комплект разработчика Java(TM) SE
- Java 7 Обновление 9
- Комплект разработчика Java(TM) SE (64-бит)
Я должен отметить, что это 64-битная машина. Так что, они избыточны? Похоже, что так, но я не нашел четких заявлений о том, в чем заключаются различия на сайте Oracle. И (пока я печатаю это) окно «Похожие вопросы» не выдает никаких многообещающих результатов в SO.
BTW: первый, который появляется в пути команды, это C:\windows\system32\java.exe, что похоже на место, куда Microsoft помещает свою собственную версию! Я думал, что программы установки должны очищать переменные среды по мере установки и удаления, но здесь этого не происходит: я все еще вижу C:\Program Files (x86)\Java\jdk1.6.0_16\bin в пути. Даже после удаления всех приложений Java6.
решение1
Среди 4 "Java(TM) SE Development Kit" нужны только если вы компилируете или разрабатываете код Java. В противном случае они не нужны.
"Java 7 Update 9" Я не совсем уверен, это может быть инкрементальное обновление по сравнению с "Java(TM) 7 (64 бит)", в этом случае оно будет необходимо, или если это вся среда выполнения, то можно обойтись сохранением только версии обновления. Я бы проверил размер двух и посмотрел, сопоставимы ли они.
Что касается Java 6, вполне возможно, что какое-то программное обеспечение, которое у вас есть, требует более старой версии и несовместимо с новой, хотя я предполагаю, что это случается редко.
решение2
«C:\windows\system32\java.exe, похоже, это то место, куда Microsoft помещает свою собственную версию!»
Microsoft больше не предоставляет движок Java.1 Предыдущий вопрос на stackoverflow проясняет, почему в папке system32 находится java.exe.2
Я предполагаю, что Java 7 — это оригинальная сборка, а обновление 9 — более поздняя версия. Это всего лишь предположение. SE кажутся избыточными, но вам, вероятно, следует более внимательно посмотреть на версии