java.lang.function.Function
Java 8 코드베이스에서 를 사용하려고하는데 Intellij에서 다음과 같은 오류가 계속 발생합니다.
@since 1.6 이상으로 문서화 된 API 사용법이 검사는 문서에 @since 태그가있는 모든 메소드 사용법을 찾습니다. 새로운 SDK 버전에서 개발 대상 플랫폼으로 개발할 때 유용 할 수 있습니다.
프로젝트 및 컴파일러 설정이 올바른 것 같습니다
프로젝트 설정 : (파일-> 프로젝트 구조)
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 버전과 대상 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에서 다시 가져 오거나 빌드하십시오.
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
그렇지 않으면 아래 경로에서 Java 컴파일러 및 언어 레벨을 선택하십시오.
파일> 프로젝트 구조> 프로젝트 설정> 모듈> 모듈 이름> 소스> 언어 레벨> 필요한 것을 선택하십시오.
여기에서 언어 레벨을 변경하십시오 :-
답변
실제로 Maven을 사용 중이고 pom.xml
프로젝트 속성이 올바르게 구성된 경우
<project xmlns="...>
....
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
...
</project
Maven 매개 변수를 intellij-idea
프로젝트로 다시 가져올 수 있습니다 . 프로젝트 루트 항목을 마우스 오른쪽 버튼으로 클릭 한 다음 Maven -> Reimport
하단에 있습니다.
답변
방금 다음과 같이 수정했습니다.
프로젝트를 마우스 오른쪽 버튼으로 클릭-> 모듈 설정 열기-> 모듈-> 소스-> 8 이상
그리고
여전히 오류가 발생하고 maven을 사용 하는 경우 빌드 구성을 다음에 추가해야합니다 pom.xml
.
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
답변
파일> 설정> 빌드, 실행, 배포> Java 컴파일러
대상 바이트 코드 버전을 작업중인 모듈의 1.8로 변경하십시오.
Maven을 사용하는 경우
최상위 프로젝트 노드 아래의 pom.xml에 컴파일러 플러그인을 추가하십시오.
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
답변
Gradle을 사용하는 경우 컴파일러를 설정하기 위해 프로젝트 수준에서 수행하는 작업에 관계없이 다음이 1.5가 아닌 1.8로 설정되어 있는지 확인하십시오 (예 : Intelij의 기이 한 이유로 기본값은 1.5로 설정 됨) 호환성 수준에서이 설정을 사용하면 인식하지 못하는 Java 8 기능에 계속 문제가 발생합니다.
version '1.0-SNAPSHOT'
apply plugin: 'groovy'
apply plugin: 'java'
sourceCompatibility = 1.8
답변
리포지토리 구성에는 컴파일러 버전과 같은 속성이 있습니다. settings.xml
파일을 검사
하십시오.
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>