2013-11-12 2 views
0

Я установил Maven через Homebrew:Maven использует более позднюю версию Java

brew install maven 

все шло нормально, но когда я прошу Maven версии, есть уведомление, что Maven использует старую версию Java:

macbook:~ jirka$ mvn -version 
Apache Maven 3.1.1 (0728685237757ffbf44136acec0402957f723d9a; 2013-09-17 17:22:22+0200) 
Maven home: /usr/local/Cellar/maven/3.1.1/libexec 
Java version: 1.6.0_65, vendor: Apple Inc. 
Java home: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home 
Default locale: cs_CZ, platform encoding: MacCentralEurope 
OS name: "mac os x", version: "10.9", arch: "x86_64", family: "mac" 

, но я использую Java 7 для разработки и версии 7 используется во всей системе:

macbook:~ jirka$ java -version 
java version "1.7.0_45" 
Java(TM) SE Runtime Environment (build 1.7.0_45-b18) 
Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode) 
macbook:~ jirka$ 

Я хотел бы спросить вас , это проблема, что Maven использует более позднюю версию Java? Есть некоторые последствия между версией Java, используемой Maven, и фактом, что приложения написаны для Java 7?

EDIT - моя установка системы:

macbook:~ jirka$ env 
TERM_PROGRAM=Apple_Terminal 
SHELL=/bin/bash 
TERM=xterm-256color 
TMPDIR=/var/folders/tx/c11w5sf11zj6qbfh5skp8kx00000gn/T/ 
Apple_PubSub_Socket_Render=/tmp/launch-85UUQ1/Render 
TERM_PROGRAM_VERSION=326 
TERM_SESSION_ID=AA674B2A-E20C-4B7F-BCD3-8DE637363A00 
USER=jirka 
SSH_AUTH_SOCK=/tmp/launch-XIC65i/Listeners 
__CF_USER_TEXT_ENCODING=0x1F5:29:56 
PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/texbin 
__CHECKFIX1436934=1 
PWD=/Users/jirka 
LANG=cs_CZ.UTF-8 
SHLVL=1 
HOME=/Users/jirka 
LOGNAME=jirka 
_=/usr/bin/env 
macbook:~ jirka$ echo $PATH 
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/texbin 
macbook:~ jirka$ echo $JAVA_HOME 

macbook:~ jirka$ 

ответ

1

Ну, насколько я могу сказать из своего опыта вы можете столкнуться с некоторыми проблемами с Java 7 для разработки и Java 6 для Maven. Например, вы можете использовать некоторые специфические особенности Java 7 (например, try-with-resources заявления), которые не поддерживаются в Java 6.

Попробуйте войти в консоль:

echo $PATH 

echo $JAVA_HOME 

$ PATH, вероятно, указывает на Java 7, в то время как $ JAVA_HOME указывает на Java 6. Если это ваш случай - отредактируйте свой JAVA_HOME и укажите его на установку Java 7.

+0

Странно, потому что переменная JAVA_HOME ссылается на никуда, возможно, Java-установка Java неверна? См. Мой предыдущий вопрос. – user2148736

+0

Попробуйте настроить JAVA_HOME на Java 7 с помощью команды export: http://stackoverflow.com/questions/1348842/what-should-i-set-java-home-to-on-osx –

+0

Спасибо, вы только что сделали мой день! – user2148736

1

Попробуйте исправить вашу среду разработки с помощью jenv.

jEnv это инструмент командной строки, чтобы помочь вам забыть, как настроить среду JAVA_HOME переменной

brew install https://raw.github.com/gcuisinier/jenv/homebrew/jenv.rb 

jenv add /Library/Java/JavaVirtualMachines/jdk17011.jdk/Contents/Home oracle64-1.7.0.11 added 

jenv global oracle64-1.7.0.11 
0

Существует необходимость установить системную переменную JAVA_HOME с помощью команды экспорта:

macbook:~ jirka$ cat '.bash_profile' 
export JAVA_HOME=`/usr/libexec/java_home -v 1.7` 
Смежные вопросы