Я новичок в Maven, а также в MacOS.
Я установил maven в своем терминале, и при получении настроек версии (используя mvn -v
) кажется, что он использует JDK 1.6, в то время как у меня установлен JDK 1.7. Что-то не так?
Команды, которые я ввожу, таковы:
blues:helloworld Ninja$ java -version
java version "1.7.0_05" Java(TM) SE Runtime Environment (build 1.7.0_05-b06) Java HotSpot(TM) 64-Bit Server VM (build 23.1-b03, mixed mode)`
blues:helloworld Ninja$ mvn -v
Apache Maven 3.1.0 (893ca28a1da9d5f51ac03827af98bb730128f9f2; 2013-06-28 10:15:32+0800) Maven home: /usr/local/Cellar/maven/3.1.0/libexec Java version: 1.6.0_51, vendor: Apple Inc. Java home: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home Default locale: zh_CN, platform encoding: EUC_CN OS name: "mac os x", version: "10.8.4", arch: "x86_64", family: "mac"
Ответы:
добавьте следующее к вашему
~/.mavenrc
:Второе решение:
echo export "JAVA_HOME=\$(/usr/libexec/java_home)" >> ~/.bash_profile
источник
export JAVA_HOME="$HOME/.jenv/versions/`jenv version-name`"
для~/.mavenrc
файла.Попасть в
и обновите
CurrentJDK
символическую ссылку, чтобы указатьНапример
Теперь это должно сработать немедленно.
источник
Вы также можете сделать,
источник
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project {projectname}: Fatal error compiling: invalid target release: 1.7 -> [Help 1]
Вы также можете явно указать maven, для какой версии Java нужно скомпилировать. Вы можете попробовать добавить в
maven-compiler-plugin
свой пом.Если вы импортировали проект maven в IDE, то, вероятно, в вашей IDE есть настройка maven для компилятора по умолчанию, который использует ваш бегун maven.
источник
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project {projectname}: Fatal error compiling: invalid target release: 1.7 -> [Help 1]
Это помогло мне. Просто добавьте его в свой pom.xml.
По умолчанию плагин компилятора maven использует Java 1.5 или 1.6, вы должны переопределить его в вашем pom.xml.
источник
Для пользователей Eclipse. Если у вас есть Run Configuration, которая очищает пакет, например.
На панели «Конфигурация запуска» есть вкладка JRE, где вы можете указать, с какой средой выполнения он должен работать. Обратите внимание, что эта конфигурация переопределяет все, что находится в файле pom.xml.
источник
Я опаздываю на этот вопрос, но думаю, что лучший способ справиться с версиями JDK в MacOS - использовать скрипт, описанный по адресу: http://www.jayway.com/2014/01/15/how-to-switch-jdk -version-на-Mac-OS-X-индивидуалист /
источник
Пожалуйста, проверьте совместимость. Я боролся с
mvn 3.2.1
иjdk 1.6.0_37
много часов. Все переменные были установлены, но не работали. Наконец-то я обновилсяjdk to 1.8.0_60
и всеmvn 3.3.3
заработало. Переменные среды как следующие:источник
Решение @MasterGaurav отлично работает,
Я обычно помещаю java-переключатель в функцию zsh:
Затем вы можете запустить
java_ls
два, получить все доступные jvm на вашем компьютере, запустить,java_use 1.7
чтобы использовать версию 1.7 для java и maven.источник