目标版本无效:1.7

时间:2013-11-10 15:20:12

标签: java maven java-7

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

使用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版:

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)

知道它可能是什么吗?

5 个答案:

答案 0 :(得分:158)

您需要将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

答案 1 :(得分:42)

除了设置JAVA_HOME环境变量之外,您还必须确保在Maven运行配置中使用正确的JDK。转到运行 - &gt; 运行配置,选择您的Maven Build配置,转到JRE选项卡并设置正确的Runtime JRE。

Maven run configuration

答案 2 :(得分:3)

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

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

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

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

然后转到主要的IntelliJ IDEA菜单|偏好| Maven |转轮

并选择正确的JRE。在我的情况下,它正确更新使用Project SDK,现在是1.7。

答案 3 :(得分:1)

当maven在Eclipse之外工作,但在JDK更改后发出此错误时,请转到Maven运行配置,在主页面的底部,有一个“Maven Runtime”选项。我正在使用Embedded Maven,所以在切换它以使用我的外部maven后,它就可以工作了。

答案 4 :(得分:0)

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

检查迈克在这里回答他自己的问题: stackoverflow question 24705877

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

另外,@林高回答stackoverflow question 2503658并且使用$ JAVACMD变量可能会有所帮助,但我自己还没有测试过。