[java] 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로 되돌 렸습니다.

그러나 루트 (프로젝트 수준) pom.xml에 아래 줄을 추가하면 위의 문제를 해결하는 데 도움이되었습니다. (두 옵션 모두 저에게 효과적이었습니다)

옵션 1:

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

옵션 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>


답변

파일-> 프로젝트 구조-> 프로젝트 설정-> 프로젝트-> 프로젝트 언어 레벨

파일-> 프로젝트 구조-> 프로젝트 설정-> 모듈-> 언어 레벨

드롭 다운을 사용하여 레벨 변경


답변

커맨드 라인 (Unix 터미널)에서 프로젝트 루트 폴더로 이동 하여이 작업을 수행하십시오

find . -type f -name '*.iml' -exec sed -i '' s/JDK_1_5/JDK_1_8/g {} +

모든 프로젝트 .iml 파일의 언어 수준 속성이 java 1.5에서 java 1.8로 변경됩니다.