Как установить конкретную версию Java в Maven

На моей машине у меня две установленные версии Java: (1.6 и 1.7 устанавливаются вручную мной). Мне нужны они оба для разных проектов. Но мавен мне нужно 1.7, теперь мой Мэйвен использует 1,6 версии Java, как я могу использовать Maven для 1.7?

Комментарии к вопросу (5)
Решение

Мавен использует параметр переменной JAVA_HOME, чтобы найти версию Java, которую предполагается выполнить. Я вижу из вашего комментария, что вы можете't изменить то, что в конфигурации.

  • Вы можете установить параметр переменной JAVA_HOME просто перед началом Мэйвен (и изменить его обратно, потом, если нужно будет).
  • Вы могли бы также пойти в свой МВН(не-Windows) МВН/.МВН летучая мышь/.УМК(Windows) и установить Java версии явно есть.
Комментарии (7)

В ПОМ, вы можете установить свойства компилятора, например, для 1.8:


...

    1.8
    1.8

...
Комментарии (1)

Добавление решением для людей с несколькими версиями Java установлена

У нас есть большая кодовая база, большинство из которых находится в Java. Большинство того, что я работаю, написано в Java 1.7 или 1.8. С переменной JAVA_HOMEявляется статическим, я создал псевдонимы в моей.bashrc и для Maven запуск с разными значениями:

alias mvn5="JAVA_HOME=/usr/local/java5 && mvn"
alias mvn6="JAVA_HOME=/usr/local/java6 && mvn"
alias mvn7="JAVA_HOME=/usr/local/java7 && mvn"
alias mvn8="JAVA_HOME=/usr/local/java8 && mvn"

Это позволяет мне запустить Maven из командной строки на моей машине разработки, независимо от версии JDK использовать на проекте.

Комментарии (5)

На Windows

Если вы не хотите изменить ваш переменной JAVA_HOME переменную в переменных системы.

Редактировать МВН свой`.bat файл и добавить такую строку

set JAVA_HOME=C:\Program Files\Java\jdk1.7.0_45\jre

Это можно сделать после `@Рем ==== начать проверку = = = = как говорил @Джонатан

На Mac (& Линукс ?)

Если вы не хотите изменить ваш переменной JAVA_HOME переменной внутри ~/.bashrc и или ~/.файл

вы можете создать~/.mavenrc файл и пересмотреть свой переменной JAVA_HOME с помощью переменной JAVA_HOME инструмент

export JAVA_HOME=`/usr/libexec/java_home -v 1.7.0_45`

Проверочной

Вы можете убедиться, что все работает нормально, выполнив следующие команды. Версия JDK должны быть разными.

МВН -версия

тогда

Java-версия

Комментарии (1)

Добавляя свои пять копеек и явно предоставляя решение.

У меня двух версиях JDK установлен на моей машине Windows - с JDK 1.5 и с JDK 1.6.

Мой по умолчанию (значение системной переменной среды Windows) переменной JAVA_HOME установлен JDK версии 1.5.

Однако, у меня есть Maven-проекта, что мне нужно построить (например, JBehave учебник'ы Etsy.com) с использованием пакета JDK 1.6`.

Мое решение в этом случае (который работал!), это, как полагают @DanielBarbarian, чтобы установить его в МВН.летучая мышь`.

По некоторым, не знакомым с окном's в пакетный файл, я просто добавил задать значение переменной JAVA_HOME=<path_to_other_jdk и GT; строка после@Рем ==== начать проверку ====вМВН.летучая мышь(т. е.%MAVEN_HOME%\бин\МВН.летучая мышь`):

@REM ==== START VALIDATION ====
set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_45\jre
if not "%JAVA_HOME%" == "" goto OkJHome
Комментарии (3)

Я только недавно, после семи долгих лет с Maven, узнали о toolchains.xml. Мэйвен есть даже документально и поддерживает его от 2.0.9 - документация наборы

Поэтому я добавил toolchain.xml файл в ~/.папка м2/ с следующим содержимым:

в




   jdk

     1.8
     sun


     /opt/java8



   jdk

     1.7
     sun


     /opt/java7


в

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

Комментарии (1)

Чтобы избежать какого-либо влияния на ваш проект и ваши переменные окружения, вы можете настроить плагин компилятора Мэйвен только в проекте'с пом, указывая исходный и целевой версии Java



        maven-compiler-plugin
        3.5.1

            1.7
            1.7


    ...
Комментарии (0)

Одно простое решение проблемы -

переменной JAVA_HOME=/usr и/lib в/в jvm/java о-6-ВС/ команды mvn чистой установки

На Mac, это будет выглядеть примерно так -

переменной JAVA_HOME=/библиотеки/приложения Java/JavaVirtualMachines/jdk1.7.0_21.с JDK/содержание/домой/ команды mvn чистой установки

ЗЫ: один особый случай, который я обнаружил, это выше данная команда не работает на 'рыбы' раковины. Я также имел оболочку Bash и там работали нормально. просто используйте команду 'Баш' чтобы перейти в командную оболочку Bash.

Комментарии (0)

Вы можете установить Maven для использования любых Java-версию, следуя инструкциям ниже.

Установите jenv в вашей машине ссылке

Проверить имеющиеся версии Java, установленная в вашей машине, выполнив следующую команду в командной строке.

По версии jenv

Можно задать глобальные версии Java с помощью следующей команды.

jenv глобальных приложение oracle64-1.6.0.39

Можно указать локальную версию Java для любого каталога(проекта), используя следующую команду в директории в командной строке.

местные jenv приложение oracle64-1.7.0.11

добавить правильную версию Java в вашем pom.xml

если вы используете Maven в командной строке установите jenv мавен плагин, используя следующую команду

jenv включить-Maven-плагина

Теперь вы можете настроить любую версию Java на вашем компьютере в любой проект без каких-либо проблем.

Комментарии (1)

В Linux/Unix системах, в каталоге JAVA_HOME в 'МВН' скрипт переопределяется настройки в

$HOME/.mavenrc

пожалуйста https://stackoverflow.com/questions/37905648/where-to-add-java-home-and-maven-path-variables-in-linux

Комментарии (0)

Можно настроить компиляция источников, используя разные JDK с помощью Maven-компилятор-плагин.

Просто укажите путь к javac в `<исполняемый файл и GT; тег. Например, для java11 он выглядит:


    org.apache.maven.plugins
    maven-compiler-plugin
    3.8.0

        11
        11
        true
        C:\Program Files\Java\jdk-11.0.1\bin\javac 

Комментарии (0)

На Windows, я просто добавить несколько пакетных файлов для разных версий JDK в папку Мэйвен ОГРН такой:

mvn11.УМК КМД @Эхо выключено команда setlocal набор "и переменной JAVA_HOME=\путь\jdk11"и набор "по пути=%переменной JAVA_HOME%;%путь%"и МВН %* затем вы можете использовать mvn11 для запуска Maven в указанный пакет.

Комментарии (0)

На Маках, (если у вас установлена нужная версия)

Переменной JAVA_HOME=`в/usr/IP-адресов/переменной JAVA_HOME -в 1.8` команды mvn чистой установки -DskipTests

Комментарии (0)

У меня не было успеха на Mac с определение переменной JAVA_HOME` в консоли, но я был успешным с таким подходом

  • Создавать .файл mavenrc в Вашем на вашем домашнем каталоге (так файл путь будет ~/.mavenrc
  • В экспортировать этот файл вставьте переменной JAVA_HOME=$(из/usr/IP-адресов/переменной JAVA_HOME -в 1.7)`
Комментарии (0)

Без изменения переменных среды, можно управлять Java-версии, основанные на проектном уровне с помощью плагина компилятор Мэйвен.

Способ 1


    1.7
    1.7




            org.springframework.boot
            spring-boot-maven-plugin


Способ 2




            org.apache.maven.plugins
            maven-compiler-plugin

                1.7
                1.7



Комментарии (0)

Также вы можете иметь два версий Maven установленная и редактирование один из них, редактирование здесь:

МВН(не Windows)/МВН.летучая мышь/МВН.УМК(окна)

замена %переменной JAVA_HOME% видимость вашего Java нужный путь. Затем просто запустите Maven с модифицированным путь

Комментарии (0)