121

我见过类似的问题,但还没有找到答案。

使用 Maven 编译,我得到:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.0:compile (default-compile) on project api: Fatal error compiling: invalid target release: 1.7 -> [Help 1]

这是 pom.xml:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.0</version>
    <configuration>
        <source>1.7</source>
        <target>1.7</target>
        <encoding>UTF-8</encoding>
    </configuration>
</plugin>

Javac 版本:

javac 1.7.0_25

爪哇版:

java version "1.7.0_25"
Java(TM) SE Runtime Environment (build 1.7.0_25-b15)
Java HotSpot(TM) 64-Bit Server VM (build 23.25-b01, mixed mode)

知道它可能是什么吗?

4

5 回答 5

159

您需要将 JAVA_HOME 设置为您的 jdk7 主目录,例如在 Microsoft Windows 上:

  • “C:\Program Files\Java\jdk1.7.0_40”

或在 OS X 上:

  • /Library/Java/JavaVirtualMachines/jdk1.7.0_40.jdk/Contents/Home
于 2013-11-26T13:18:22.383 回答
42

除了设置JAVA_HOME环境变量之外,您还必须确保在 Maven 运行配置中使用正确的 JDK。转到Run -> Run Configuration,选择您的 Maven 构建配置,转到 JRE 选项卡并设置正确的运行时 JRE。

Maven运行配置

于 2014-02-24T03:18:38.137 回答
3

在 IntelliJ IDEA 中,当我导入一个运行良好并使用 Java 1.7 运行的项目时,这发生在我身上。我显然没有通知 IntelliJ 我的机器上已经安装了 java 1.7,并且它没有找到我的$JAVA_HOME.

在 Mac 上,这可以通过以下方式解决:

右键单击模块| 模块设置 | 项目

并通过在 Project SDK 中选择“新建”来添加 1.7 SDK。

然后转到主 IntelliJ IDEA 菜单 | 偏好 | 马文 | 赛跑者

并选择正确的 JRE。就我而言,它正确更新了使用 Project SDK,现在是 1.7。

于 2014-08-19T02:14:10.957 回答
1

如果 maven 在 Eclipse 之外工作,但在 JDK 更改后出现此错误,请转到您的 Maven 运行配置,在主页底部,有一个“Maven 运行时”选项。我的使用的是嵌入式 Maven,因此在将其切换为使用我的外部 Maven 后,它就可以工作了。

于 2014-02-27T14:11:04.020 回答
0

这可能适用于很多事情,但对于 Maven 来说还不够,当然对于 maven 编译器插件也不行。

在这里查看 Mike 对他自己的问题的回答: stackoverflow question 24705877

这解决了我在命令行和eclipse中的问题。

另外,@LinGao 对stackoverflow 问题 2503658的回答和 $JAVACMD 变量的使用可能会有所帮助,但我自己没有测试过。

于 2015-10-26T15:49:51.193 回答