java - Maven 使用更高版本的 Java

标签 java macos maven

我通过 Homebrew 安装了 Maven:

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更高版本的问题吗? Maven 使用的 Java 版本与应用程序是为 Java 7 编写的事实之间是否存在一些后果?

编辑 - 我的系统设置:

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$

最佳答案

据我的经验来看,您可能会遇到使用 Java 7 进行开发和使用 Java 6 进行 Maven 的一些问题。例如,您可以使用 Java 7 中不支持的某些特定功能(例如 try-with-resources 语句)。

尝试在控制台中输入:

echo $PATH

echo $JAVA_HOME

$PATH 可能指向 Java 7,而 $JAVA_HOME 则指向 Java 6。 如果是您的情况 - 编辑您的 $JAVA_HOME 并使其指向您的 Java 7 安装。

关于java - Maven 使用更高版本的 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19930345/

相关文章:

java - 对象集合类

c# - 如何有效地包装固定大小的循环缓冲区的索引

objective-c - 如何通过NSTask运行 "Purge"命令?

maven - IntelliJ 使用 Maven 而不是 JUnit 运行单元测试

java - 如何在java中使用正则表达式从下面的字符串中获取值

java - java游戏开发中的窗口崩溃

macos - 如何从 MAC OS X 中删除应用程序

ios - 如何在 13 英寸 Macbook Pro 上使用模拟器测试 iPad 视网膜应用程序?

Java 9、Hibernate 和 java.sql/javax.transaction

java - Maven 不查看本地存储库