저는 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로 변경”이라는 옵션이 표시됩니다.