Java 8 使用CircleCI 执行时无法解析导入

Java 8 import cannot be resolved when executing with CircleCI

我有一个 Java 8 项目,是用 maven 构建的。我正在使用 CircleCI 作为持续集成,在构建过程中收到以下错误消息:

import java.util.function.Consumer;
       ^^^^^^^^^^^^^^^^^^
The import java.util.function cannot be resolved

我有:

<source>1.8</source>
<target>1.8</target>

在我的 maven 编译器插件中。当我 运行 在本地构建时,使用 mvn clean installmvn integration-test,因为它是在 CircleCI 中执行的,我没有得到任何错误。

在 Java 8 项目中使用 CircleCI 时有问题吗?

可以在这里找到项目源:https://github.com/verjigorm/DragonPunch.git

编辑: 我查看了下面建议的链接,并通过添加修复了构建:

machine:
  java:
    version:
      oraclejdk8

到我的 circle.yml 文件。

仅仅因为您指定要在 pom 文件中使用 Java 8 并不意味着它会可用。

根据 Circle Documentation,它们默认为 oraclejdk7 作为 Java 运行时。您必须指定支持 Java 8 的内容,例如 oraclejdk8

根据CircleCi documentation,默认使用Java 1.7.0_55

检查配置以设置 JDK 8 而不是这个