[java] IntelliJ에서 Maven 용 Java 버전을 변경하는 방법은 무엇입니까?

저는 Maven과 IntelliJ IDEA를 처음 사용합니다.

Java 8로 작성된 Maven 프로젝트가 있습니다. 빌드하려고 할 때마다 (Maven 프로젝트 창-> 라이프 사이클-> 컴파일-> Maven 빌드 실행) 일련의 컴파일 오류가 발생합니다.

[ERROR] path/to/file.java:[26,52] lambda expressions are not supported in -source 1.5
(use -source 8 or higher to enable lambda expressions)

-source 매개 변수의 값을 어디에서 변경해야합니까? 설정-> 컴파일러-> Java 컴파일러에서 추가 매개 변수로 추가하려고했지만 동일한 결과를 얻었습니다.

프로젝트 및 모듈의 언어 수준은 모두 8.0으로 설정됩니다.

Maven 3.2.3 및 IntelliJ IDEA Community Edition 13.1.2를 사용하고 있습니다.



답변

또는 더 쉽게 다음을 pom의 properties섹션에 추가 하십시오.

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


답변

요약:

  • ‘maven-compiler-plugin’은 항상 작동합니다! 내가 사용하는 것이 좋습니다.

언어 수준을 변경하려면 다음을 사용하십시오.

<build>
    <plugins>
        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.4</source>
                <target>1.4</target>
            </configuration>
        </plugin>
    </plugins>
</build>

속성이 Intellij의 언어 수준을 항상 변경하는 것은 아닙니다 !

아래 코드에서 1.4는 maven-compiler-plugin을 사용하여 pom에 구성되었으며

(Intellij의 jdk는 1.8 임) 프로젝트의 언어 수준이 이에 따라 1.4로 변경되었습니다.

여기에 이미지 설명 입력

두 번 확인되었습니다! 예입니다. 대부분의 경우 JDK 버전을 1.4로 다운 그레이드하지 않습니다!

물론 속성을 사용하는 경우 pom 1.8을 입력하고 Intellij에서 1.8 JDK를 사용하면 (언어 수준 기본값은 1.8이거나 언어 기본값이 수동으로 변경됨) 1.8로 코딩 할 수 있습니다. 그러나 mvn 컴파일에서 속성이 표시되지 않고 Maven 1.5로 기본 설정되고 컴파일이 성공하지 않습니다!


답변

pom.xml에서 아래와 같이 소스를 변경하십시오.

<build>
        <finalName>MQService</finalName>
        <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>


답변

나는 질문에 대한 어떠한 응답도 ” IntelliJ에서 “라는 우려를 해결했다고 생각하지 않습니다 .

단계는 다음과 같습니다.-

  • IntelliJ의 기본 설정 (또는 바로 가기 ⌘ +,)으로 이동합니다.
  • Build, Execution, Deployment> Maven> Importer-JDK for Importer “드롭 다운을 선택한 다음 원하는 Java 버전을 선택하고 적용을 클릭합니다.
  • Build, Execution, Deployment> Maven> Runner-JRE “드롭 다운을 선택한 다음 원하는 Java 버전을 선택하고 적용을 클릭합니다.
  • 확인 클릭


답변

루트 (프로젝트 수준) 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>

원래 게시 된 위치 : IntelliJ IDEA 13은 1.7로 설정해도 Java 1.5를 사용합니다.


답변

이를 수행하는 두 가지 방법이 있습니다.

먼저 속성 추가

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

두 번째-플러그인 추가

<plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.5.1</version>
        <configuration>
            <source>1.8</source>
            <target>1.8</target>
        </configuration>
</plugin>


답변

언어 수준을 강제로 변경하려면 pom.xml에 아래 코드를 추가해야합니다.

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>8</source>
                <target>8</target>
            </configuration>
        </plugin>
    </plugins>
</build>

이제 intelliJ 2019.3 CE에서 가져 오기로 이동 한 다음 alt + enter를 입력하면 “이 기능을 사용하려면 언어 수준을 8로 변경”이라는 옵션이 표시됩니다.