Programing

IntelliJ IDEA 13은 1.7로 설정되었음에도 불구하고 Java 1.5를 사용한다.

c10106 2022. 5. 9. 21:24
반응형

IntelliJ IDEA 13은 1.7로 설정되었음에도 불구하고 Java 1.5를 사용한다.

모든 프로젝트 설정에서 JDK 1.7을 지정했음에도 불구하고(포함)File -> Project Structure -> Project :: Project SDK)) 다음 오류를 생성한다.IntelliJ 13다이아몬드 연산자를 사용하는 몇 가지 간단한 Java 7 코드를 컴파일하려고 할 때:

java: diamond operator is not supported in -source 1.5
(use -source 7 or higher to enable diamond operator)

구성에서 예상한 다른 장소가 있는가?-source 7옵션을 활성화해야 하는가?

프로젝트/모듈 언어 수준(프로젝트 구조 |프로젝트 구조 |프로젝트 구조 |모듈 |모듈 이름 |소스)을 확인하십시오.당신은 또한 Settings | Compiler | Java Compiler | Per-module bytecode 버전을 보고 싶을 것이다.

다음 항목도 설정하십시오.

File -> Project Structure -> Modules : 소스(경로 및 종속성 옆에 있음) 및 "Language Level" 옵션도 있어 올바르게 설정할 필요가 있다.

이 중 아무 도움도 되지 않는 경우(나의 경우) 다음과 같이 pom.xml에 설정할 수 있다.

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

여기 언급된 멋진 남자: https://stackoverflow.com/a/25888116/1643465

[IntelliJ IDEA 2016.2]

는 피터 그로모프의 답변 중 일부를 최신 스크린샷으로 확장하고 싶다.특히 이 특정 부분:

당신은 또한 Settings | Compiler | Java Compiler | Per-module bytecode 버전을 보고 싶을 것이다.

나는 (적어도 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

하지만 아무 소용이 없었어, 내가 저장하자마자 버전들을 자바 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로 변경된다.

IntelliJ Community Edition 2019.02에서는 다음 설정을 변경하는 것이 효과적임

  1. 파일->프로젝트 구조->프로젝트 설정->프로젝트->프로젝트 언어 수준을 Java 11로 업데이트(프로젝트에서 사용하고자 하는 자바 버전으로 업데이트) 드롭다운을 사용하여 업데이트.

  2. 업데이트 파일->프로젝트 구조->프로젝트 설정->모듈->언어 수준

  3. File->Settings->Build,Execution,Deployment -> Compiler -> Java Compiler-> Project ByteCode Version을 Java 11로 업데이트하십시오.

  4. File->Settings->Build,Execution,Deployment -> Compiler -> Java Compiler-> Per module Byte Code Version의 모든 항목에 대한 Target 버전 업데이트.

먼저, 당신은 아래의 "프로젝트 바이트 코드 버전"을 변경해야 한다.File > SettingsCompiler > Java Compiler

둘째, 전면 재구축한다.

나는 같은 문제를 가지고 있지만 상황은 다르다.수maven's mavenedo's mavenedo's anything daylors.mvn clean install ()만, 인텔리지는"java: diamond operator is not supported in -source 1.5"가 pompom.xml 에서는 maven-compiler-pluginling 도 컴일day 오류류류는는는는는는는는는는는는는는는는는는는는는는는는는는는는는는는는는는는는는.

알고 보니 프로젝트가 의존하는 maven의 settings.xml에 원격 리포지토리 설정이 있지만 Intellij는 내 로컬 maven과 설정이 같지 않은 자신의 maven을 사용한다.

Settings -> Build, execution, Deployment -> Maven -> Maven home directory을(를) 하여 로컬 를 사용하십시오를 사용하여 로컬 면도를 사용하십시오.

이 문제를 일으킬 수 있는 한 가지 더 잘못된 것이 있다.version<parent>투영하다

나의 경우 그것은 존재하지 않는 프로젝트를 가리키고 있었고 어떤 이유에서인지 IntelliJ는 설정에서 버전을 1.5로 다운그레이드했고 나중에 내가 그것을 고쳤을 때 여전히 표적 코드 버전을 5로 해석하고 있었다(11로 설정했음에도 불구하고).

새 프로젝트에 대한 설정을 변경하여 이 문제를 해결할 수 있었다.

  1. 파일 -> 새 프로젝트 설정 -> 새 프로젝트에 대한 설정 -> Java Compiler -> 버전 설정

  2. 파일 -> 새 프로젝트 설정 -> 새 프로젝트 구조 -> 프로젝트 -> 프로젝트 SDK 설정 + 언어 수준 설정

  3. 프로젝트 제거

  4. 프로젝트 가져오기

나는 인텔리J 2017에서 나를 위해 다음과 같은 재산을 가지고 있었다.

  <properties>
        <java.version>1.8</java.version>       
  </properties>

IntelliJ에서 소스(바이트 코드) 버전에 영향을 주는 몇 개의 장소가 있는 것 같다.

• IntelliJ > Preferences >Build Exce Deploy > Java Compiler
    ◦ Module > Target Bytecode Version
• File > Project Structure 
    ◦ Project > Language Level & SDK
    ◦ Module > Language Level
• Maven Properties
         <properties>
             <maven.compiler.source>17</maven.compiler.source>
             <maven.compiler.target>17</maven.compiler.target>
         </properties>

참조URL: https://stackoverflow.com/questions/21006136/intellij-idea-13-uses-java-1-5-despite-setting-to-1-7

반응형