2016-04-27 3 views
1

фона

установлен JDK v1.8.0_92 и NetBeans v8.0.2.Несколько платформ, один JDK Установка

Проблема

Проект требует Java Platform 1.7, как показано здесь:

NetBeans Project Properties

Вопрос

Можно ли использовать JDK 1.8 и установить 1.7 в качестве целевой платформы? Если да, то как?

Дополнительные детали

Установка целевой сборки (через Дополнительные параметры компилятора) не влияет на целевую платформу, как показано здесь:

NetBeans Target Build

Я под впечатление, что мне нужно будет установить как JDK 1.8 (требуется для PMD), так и JDK 1.7 (требуется для проекта).

В идеале, я бы хотел избежать установки нескольких JDK на одном компьютере. Я подозреваю, что это невозможно, потому что функциональность на платформе 1.7 могла быть удалена в 1.8 (например, устаревшие методы).

ответ

2

Не только возможно установить несколько JDK на том же компьютере, это то, что делает большинство разработчиков в вашей ситуации. единственное, что нужно быть осторожным - это несколько JDK на пути (и JAVA_HOME) в одно и то же время (и, очевидно, JDK на пути должен соответствовать таковому в JAVA_HOME, наиболее легко обеспечиваемому добавлением% JAVA_HOME% \ bin в путь env вар)

функциональность в 1.7 платформы, возможно, были удалены в 1,8

JDKs, как известно, обратно совместимы. там есть вещи, которые остались в Java 1 и, вероятно, никогда не будут удалены (в ущерб некоторым Java-разработчикам, включая меня). некоторые распространенные (раздражающие) примеры - Thread.stop(), странные значения для serialVersionUid для некоторых классов, неполная поддержка дженериков из-за совместимости с java 4, продолжение существования исходных классов контейнеров и AWT и многое-многое другое.

более серьезная проблема будет заключаться в установке и использовании JDK 8 и таргетинге на java 7 (указав -target, как и на скриншоте). риск здесь заключается в том, что вы случайно импортируете и что-то новое в java 8, после чего jdk8 с радостью будет создавать java7-совместимый байт-код, который не сможет найти класс/метод, который вы использовали во время выполнения.

лично, на окнах, что я делаю, просто извлеките кучу JDK где-нибудь (скажем c: \ dev \ tools \ jdks) и настройте различные проекты IDE для использования по-разному, по мере необходимости. Мне не нравится, когда они «установлены».

Смежные вопросы