Intellij – 无法使用较新的Java 8类 – 错误:“API的用法记录为@since 1.8+

IDEA软件报错内容:
在这里插入图片描述
问题描述
我试图在我的java 8代码库中使用java.lang.function.Function,但是我在Intellij中收到以下错误。

Usage of API documented as @since 1.6+ This inspection finds all usages of methods that have @since tag in their documentation. This may be useful when development is performed under newer SDK version as the target platform for production

我似乎有正确的项目和编译器设置

项目设置:

Project Settings -> Project -> Project SDK = Java 1.8
Project Settings -> Project -> Project Language Level = 8 - Lambdas, Type Annotations etc

编译器设置:

Build, Execution, Deployment -> Compiler -> Java Compiler -> Project Bytecode Version : 1.8
Build, Execution, Deployment -> Compiler -> Java Compiler -> Per module Bytecode Version -> Target Bytecode Version : 1.8
问题是什么?

最佳解决方案
根据Bastien Jansen评论编辑了答案。

似乎有另一个影响编译器级别的项目设置。这个问题的一个微妙的指示是编译器开始抱怨源和目标java版本与您在编译代码时指定的版本不同

Warning:java: source value 1.5 is obsolete and will be removed in a future release
Warning:java: target value 1.5 is obsolete and will be removed in a future release
Warning:java: To suppress warnings about obsolete options, use -Xlint:-options.
要摆脱这一点,你需要开放
File -> Project Structure -> Project Settings -> Modules -> “Your Module Name” -> Sources -> Language Level
并将其改为所需的级别,即1.8或默认项目默认语言级别

次佳解决方案
如果您使用maven,然后在配置pom.xml文件中添加以下行,然后从maven重新导入或构建它。

org.apache.maven.plugins maven-compiler-plugin 3.3 1.8 1.8 否则,从下面的路径中选择java编译器和语言级别。

文件>项目结构>项目设置>模块>你的模块名称>来源>语言水平>选择你需要的那个。

intellij-idea,java-8

从这里改变语言水平: –

intellij-idea,java-8

第三种解决方案
实际上,如果您使用Maven并且您的pom.xml项目属性配置正确

<project xmlns="…>


<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>


</project
您可以将Maven参数重新导入到intellij-idea项目中 – 右键单击​​项目根目录,然后在底部的Maven -> Reimport。

intellij-idea,java-8

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值