0

我使用 JMH 编写了一个基准测试,在构建时出现以下编译失败

lambda expressions are not supported in -source 1.6
[ERROR] (use -source 8 or higher to enable lambda expressions)

JAVA_HOME设置为 jdk1.8_40。我尝试pom.xml在 jmh 源文件夹 jmh-core 中更改目标和源:

       <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.1</version>
            <configuration>
                <compilerVersion>1.8</compilerVersion>
                <source>1.8</source>
                <target>1.8</target>
                <compilerArgument>-proc:none</compilerArgument>
            </configuration>
        </plugin>

但我仍然得到同样的错误

4

1 回答 1

2

你用的是 Mac 吗?如果是这样,则已经安装了 java 6。我建议从 /System/Library/Java/JavaVirtualMachines/ 中删除它。

无论如何,请检查 java -version 以查看正在使用的 jdk 版本。然后在命令行上输入 mvn -version。它指向java 6吗?如果是这样,请将以下内容添加到您的 ~/.mavenrc:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/{jdk-version}/Contents/Home

jdk-version 将是您的 java 8 版本

于 2015-04-07T15:43:02.667 回答