“导入java.util.function无法解析”错误

时间:2014-08-05 01:00:38

标签: java import java-8

来自I'm trying to run this practice script

standard Oracle Java tutorials

这似乎是一个常见的错误,我使用了SO资源来尝试解决这个问题。我尝试过清理项目,刷新项目,切换工作区并切换回来,删除并重新添加JRE7。

我不知道还能做什么。

import java.util.List;
import java.util.function.Consumer; -----> cannot be resolved ERROR
import java.util.function.Function; -----> cannot be resolved ERROR
import java.util.Comparator;
import java.util.function.Predicate; -----> cannot be resolved ERROR
import java.lang.Iterable;
import java.time.chrono.IsoChronology; -----> cannot be resolved ERROR

public class LambdaExpressions_RosterTest {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub

    }

    }

8 个答案:

答案 0 :(得分:15)

根据java.util.function Javadoc,

Since:
      1.8

因此升级到Java 8,或尝试查找本教程的旧版本。

  

我是新来的。你怎么知道你在跑什么?我正在使用Eclipse

要在eclipse中确定您当前的Java版本,请转到

Help -> About Eclipse -> Installation Details (Button in
          lower Left) -> Configuration pane

在我的机器上查找行java.specification.version -

java.specification.version=1.8

或我的机器上的行java.runtime.version -

java.runtime.version=1.8.0_11-b12

答案 1 :(得分:11)

我通过尝试以下解决方案解决了这个问题

项目>属性> Java构建路径
选择“库”选项卡
选择JRE系统库
单击编辑按钮
选择备用JRE(jre1.8.0_20)
单击“完成”按钮

答案 2 :(得分:3)

Lambda Expressions是新添加到Java 8中的。它们不适用于JRE7。 尝试将您的eclipse项目的JRE升级到8(窗口 - > preferences-> java->编译器)。

答案 3 :(得分:0)

我遇到同样的问题,我在eclipse.ini文件中进行了更改 -Dosgi.requiredJavaVersion = 1.8而不是-Dosgi.requiredJavaVersion = 1.6 我的问题已经解决了。

答案 4 :(得分:0)

当我在以下属性中使用的版本是< 1.8时,遇到此问题。将我的POM更新为版本> 1.8解决了我的问题。

Username for 'https://bitbucket.org': myuser
Password for 'https://myuser@bitbucket.org': 
remote: Unauthorized fatal: Authentication failed for 
'https://bitbucket.org/myuser/lis8458/'

答案 5 :(得分:0)

我试图将Java 9与Eclipse Oxygen一起使用时遇到了这个问题。 Eclipse声称我使用的不到Java 1.8,并询问我是否要使用1.8。说是解决了问题,但后来又导致了这条错误信息。

我进入了Window =>首选项=> Java =>编译器,看到它已经改为1.8,所以我把它改回9,现在一切似乎都在工作。

答案 6 :(得分:0)

对于想法IntelliJ,您需要转到菜单 - >项目结构 - >模块在这里您将看到Source选项卡,在此选项卡上方您可以看到语言级别。将它改为8以上。

-yash

答案 7 :(得分:0)

我对Apache Camel有类似的看法: 以下功能不再起作用

String headerKey = exchange.getIn().getHeader("headerKey",String.class);

由于错误消息:

The type java.util.function.Supplier cannot be resolved. It is indirectly referenced from required .class files

为解决此问题,我更改了演员表,之后又进行了修改:

String headerKey = (String) exchange.getIn().getHeader("headerKey");

也许可以帮助您或其他人