IntelliJ IDEA 13은 1.7로 설정했지만 Java 1.5를 사용합니다.
를 포함하여 모든 프로젝트 설정에서 JDK 1.7을 지정 하더라도 다이아몬드 연산자를 사용하는 간단한 Java 7 코드를 컴파일하려고 할 때 File -> Project Structure -> Project :: Project SDK
다음 오류가 발생 IntelliJ 13
합니다.
java: diamond operator is not supported in -source 1.5
(use -source 7 or higher to enable diamond operator)
구성에 예상 -source 7
옵션을 사용해야 하는 다른 장소가 있습니까?
이 중 아무것도 도움이되지 않으면 (내 경우) 다음과 같이 pom.xml에서 설정할 수 있습니다.
<properties>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
</properties>
이 멋진 남자가 여기에 언급했듯이 : https : //.com/a/25888116/1643465
프로젝트 / 모듈 언어 수준을 확인하십시오 (프로젝트 구조 | 프로젝트; 프로젝트 구조 | 모듈 | 모듈 이름 | 소스). 설정 | 컴파일러 | 자바 컴파일러 | 모듈 별 바이트 코드 버전.
또한 이것을 설정하십시오 :
파일-> 프로젝트 구조-> 모듈 :: 소스 (경로 및 종속성 옆) 및 "언어 레벨"옵션이 있으며 올바르게 설정해야합니다.
[IntelliJ IDEA 2016.2의 경우]
Peter Gromov의 답변 중 일부를 최신 스크린 샷 으로 확장하고 싶습니다 . 구체적 으로이 특정 부분 :
설정 | 컴파일러 | 자바 컴파일러 | 모듈 별 바이트 코드 버전.
나는 적어도 2016.2에서 : 다른 커밋을 체크 아웃 git
하면 1.5 로 재설정 한다고 생각합니다 .
또는 pom.xml에 추가하여 적절한 Java 버전으로 maven-compiler-plugin을 적용 할 수 있습니다.
<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>
아래와 같이 Intellij IDEA를 변경하려고했습니다.
1.
File >> Settings >> Build, Execution, Deployment >> Compiler >> Java Compiler >> project bytecode version: 1.8 >> Per-module bytecode version: 1.8
2.
File >> Project Structure >> Project Settings >> Project >> SDK : 1.8, Project Language : 8 - Lambdas
File >> Project Structure >> Project Settings >> Modules >> abc : Language level: 8 - Lambdas
그러나 아무것도 효과가 없었습니다. 저장하자마자 버전을 Java 1.5로 되돌 렸습니다.
However, adding below lines to root(project level) pom.xml worked me to resolve above issue: (both of the options worked for me)
Option 1:
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
Option 2:
<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>
File->Project structure->Project Settings->Project->Project Language level
File->Project structure->Project Settings->Modules->Language level
Change level using drop down
In your command line(Unix terminal) Go to your project root folder, and do this
find . -type f -name '*.iml' -exec sed -i '' s/JDK_1_5/JDK_1_8/g {} +
This will change the language level property in all your project .iml files from java 1.5 to java 1.8.
First, you need to change the "project bytecode version" under File > Settings
, Compiler > Java Compiler
Second, do a full rebuild.
I have same problem but with different situation. I can compile without any issue with maven in command line (mvn clean install
), but in Intellij I always got "java: diamond operator is not supported in -source 1.5"
compile error despite I have set the maven-compiler-plugin with java 1.8 in the pom.xml.
It turned out I have remote repository setting in my maven's settings.xml which the project depends on, but Intellij uses his own maven which doesn't have same setting with my local maven.
So my solution was changing the Intellij's maven setting (Settings -> Build, execution, Deployment -> Maven -> Maven home directory
) to use the local maven.
In IntelliJ Community Edition 2019.02, Changing the following settings worked for me
Update File->Project structure->Project Settings->Project->Project Language level to Java 11 (update to the java version that you wish to use in your project) using drop down.
Update File->Project structure->Project Settings->Modules->Language level
Update File->Settings->Build,Execution,Deployment -> Compiler -> Java Compiler-> Project ByteCode Version to java 11.
Update Target version for all the entries under File->Settings->Build,Execution,Deployment -> Compiler -> Java Compiler-> Per module Byte Code Version.
I had the following property working for me in IntelliJ 2017
<properties>
<java.version>1.8</java.version>
</properties>
One more thing that could cause this is having incorrect version
of the <parent>
project.
In my case it was pointing to a non-existing project and for some reason IntelliJ downgraded version in settings to 1.5 and later when I fixed it, it was still interpreting target code version as 5 (despite setting it to 11).
참고 : https://stackoverflow.com/questions/21006136/intellij-idea-13-uses-java-1-5-despite-setting-to-1-7
'IT story' 카테고리의 다른 글
bash 스크립트 함수에 정의 된 변수와 함께 curl POST 사용 (0) | 2020.06.24 |
---|---|
Android : AsyncTask 및 서비스 (0) | 2020.06.24 |
JQuery 타이머를 사용하여 js 함수 호출 (0) | 2020.06.24 |
Sublime 3-기능 Goto 정의를위한 키 맵 설정 (0) | 2020.06.24 |
EC2 인스턴스 복제 (0) | 2020.06.24 |