Пути к нескольким JDK в системной переменной windows PATH - PullRequest
0 голосов
/ 05 февраля 2020

Представьте себе, в моей переменной Path на Windows 7 у меня уже есть путь к моей jdk версии 8. Теперь я начинаю новый проект, где я использую Java 11, например, и добавляю путь к java 11 бина JDK также в переменную Path. Мне интересно, требуется ли в этом случае удалить путь к (старому) JDK 8 из переменной Path для корректной работы? Если я оставлю это там, будет ли выбрана правильная версия Java для нового проекта? А также: в моей IDE при создании нового проекта я также выбираю JDK для использования. Для чего используется этот выбор и для чего используется спецификация JDK в переменной пути? Я не очень знаком с операционными системами, поэтому, пожалуйста, объясните это:

1 Ответ

1 голос
/ 05 февраля 2020

1) системная переменная path

Переменная path определяет, где система будет искать исполняемые файлы, которые вы используете в консоли / оболочке.

Наличие нескольких JDK в вашей операционной системе переменная path - плохая идея. Один из них будет иметь приоритет, и вы даже не сможете (или не должны) быть уверены, какой это.

Если вам нужны разные JDK для разных проектов, вы можете создать сценарий, задающий среду. Давайте назовем это configure.bat для Windows. При открытии оболочки вы сначала должны запустить этот скрипт, чтобы установить все переменные среды и, возможно, запустить необходимые службы.

Используйте команды, такие как java -version или mvn version, чтобы проверить, какой JDK используется вашей оболочкой!

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

Есть альтернатива ...

2) переменная пути IDE

В вашей IDE (Eclipse, IntelliJ) вы также можете настроить JDK, и, что более важно: вы можете настроить различные JDK для конкретных целей. c уровней кода и может устанавливать уровень кода (или непосредственно JDK) для каждого из ваших проектов в отдельности. Во время работы в IDE вам не нужно запускать конфигурационные сценарии, об этом позаботится IDE. Будьте осторожны, однако, при использовании системной консоли в IDE вы можете вернуться к 1), а затем.

3) Maven

Таким же образом, как в IDE, которую вы можете настроить:

  • JDK (.m2/settings.xml)
  • уровней кода (pom.xml проекта или одного из родительских POM)

при использовании Maven. Для получения дополнительной информации см .: http://maven.apache.org/plugins/maven-compiler-plugin/examples/compile-using-different-jdk.html

Это должно быть возможно для других инструментов управления сборкой, таких как Gradle. Однако я должен отослать вас к поиску в Интернете.

...