Использование не текущей версии Java - PullRequest
1 голос
/ 10 июля 2019

У меня на машине установлены две версии OpenJDK (8 и 11). Если один из продуктов использует OpenJDK 8, а другой - OpenJDK 11, подберут ли они соответствующую версию OpenJDK или мне нужно явно сделать эту версию текущей с альтернативами обновления?

update-альтернативы --config java

Ответы [ 2 ]

1 голос
/ 10 июля 2019

Вы можете сделать это. Обычной практикой является установка этой переменной среды с установленным местоположением Java, а затем использование сокращений. Как java abc.java и javac abc что-то в этом роде.

Но если вы хотите использовать несколько версий diffenrt для другого проекта, вы можете указать абсолютный путь Например: если вы используете места для Java-бина: / abc / xyz / java / jdk8 / bin & / abc / xyz / java / jdk11 / bin тогда вы можете использовать как / abc / xyz / java / jdk8 / bin / java abc.java для компиляции java 8 или как / abc / xyz / java / jdk11 / bin / java abc.java для компиляции java11.

Кроме того, Java поддерживает обратную совместимость, что означает, что если код соблюдается в Java 8, может работать в среде выполнения java11, но обратное неверно.

0 голосов
/ 10 июля 2019

Я не эксперт, но я думаю, что ответ на ваш вопрос зависит от обстоятельств - да или нет не будет применяться к каждому сценарию там.

Я вижу, что многие люди делают функцию .bash_profile для простого изменения их JAVA_HOME или других переменных среды с помощью простой команды из одного слова в терминале.

Я использую Java8 95% времени, так что я сам этого не делал. Что касается разработки, для подавляющего большинства менеджеров зависимостей, инструментов сборки, IDE и т. Д. Существует некоторый способ указать версию Java для конкретного проекта, рабочего пространства или контекста, в зависимости от того, где вам это нужно. Например, если вы используете Maven, просто добавьте:

  <properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
  </properties>

вам POM.xml

Эквивалентом Gradle будет:

apply plugin: 'java'
sourceCompatibility = 1.8
targetCompatibility = 1.8

credit: Как мне указать Gradle использовать определенную версию JDK?

Я считаю, что есть способ указать JDK и в META-INF / manifest.mf.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...