Intellij maven 프로젝트 치명적인 오류 컴파일: 잘못된 플래그: --release
Spring-boot, Maven in Intellij에서 시작하려고 합니다.오류가 뜨는 걸 도와주세요.
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.7.0:compile (default-compile) on project spring-rest: Fatal error compiling: invalid flag: --release -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
Process finished with exit code 1
pom.xml은 다음과 같습니다.
<?xml version="1.0" encoding="UTF-8"?> <project
xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>spring-rest</artifactId>
<version>3.1.3.RELEASE</version>
<packaging>war</packaging>
<name>spring-rest</name>
<description>Demo project for Spring Boot</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.0.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
<version>2.0.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.hibernate.javax.persistence</groupId>
<artifactId>hibernate-jpa-2.1-api</artifactId>
<version>RELEASE</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.7.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<release>8</release>
<verbose>true</verbose>
</configuration>
</plugin>
</plugins>
</build>
</project>
고객님의 고객명pom.xml
파일, 태그 삭제만 하면 됩니다.<release>8</release>
에서maven-compiler-plugin
설정:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.7.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<verbose>true</verbose>
</configuration>
</plugin>
이는 시스템에서 실행 중인 JDK 버전과 관련이 있습니다.maven-compiler-plugin 매뉴얼에 따르면 릴리스 플래그는 1.9부터 지원되므로 JDK의 이전 버전(1.8 이하)을 사용하는 경우 POM에서 주석 또는 삭제해야 합니다.
maven-compiler-plugin 릴리스 태그는 여기에서 Maven 문서를 참조하십시오.
저도 이 문제에 직면했습니다.JAVA_를 확인해 주세요.HOME 환경 변수.JAVA 11을 사용하고 있기 때문에 릴리즈 값을 11로 설정하고 있었습니다.My System JAVA_JAVA_를 추가한 후 Java 8용으로 HOME이 설정되었습니다.해결된 Java 11 경로에 대한 HOME 사용자 환경 변수.
Maven이 올바른 버전의 Java를 사용하고 있는지 확인하기 위해 터미널을 엽니다.
실행:mvn -v
오래된 Java 버전이 표시되는 경우 문제가 있을 수 있습니다.
Linux에서는 예를 들어 Fedora 패키지 매니저를 사용하여 Maven을 삭제할 것을 권장합니다.dnf remove maven
또는 PATH에 마븐이 없는지 확인합니다.
https://maven.apache.org/download.cgi 에서 다운로드 할 수 있습니다.
추출을 홈 패스로 다운로드했습니다.~/maven
.
추가/편집~/maven/bin
당신의 경로로
.bash_profile 재적용(또는 재로그인)
달려.mvn -v
이제 출력에 올바른 Java 버전이 표시됩니다.
대체 접근법은 컴파일러 플래그를 직접 속성 태그 안에 설정하는 것입니다.<configuration>
컴파일러 플러그인의 태그:
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<!-- Use the release flag only if you are using Java 9+ -->
<!-- <maven.compiler.release>8</maven.compiler.release> -->
<!-- verbose is useful for debugging purposes -->
<maven.compiler.verbose>true</maven.compiler.verbose>
</properties>
공식 페이지에 기재된 바와 같이:
https://maven.apache.org/plugins/maven-compiler-plugin/examples/set-compiler-source-and-target.html
이는 대부분 Java 버전이 일치하지 않기 때문입니다.프로젝트의 Java 버전을 여러 개 관리하는 것은 번거로울 수 있습니다.
Java의 다른 버전을 요구하는 프로젝트를 동시에 진행하고 있으며, Java 버전 전환에 jenv를 사용하고 있습니다.
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.10.1:testCompile (default-testCompile) on project selenium-for-beginners: Execution default-testCompile of goal org.apache.maven.plugins:maven-compiler-plugin:3.10.1:testCompile failed: multiple points -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginExecutionException
Selenium maven 초보자 프로젝트를 하려고 할 때 이 문제/문제 발생 시.pom.xml 파일의 maven 플러그인을 변경해 보세요." --release javac 옵션을 사용하여 컴파일(JDK 9+)"에 플러그인 사용이거면 될 거야.
이 설정은 java 11에서 유효합니다. (IntelliJ version 2019.1) java.version은 pom.xml의 속성 부분에서 선언된 11입니다.Maven 버전은 3.6 이상이어야 합니다.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<fork>false</fork>
<source>${java.version}</source>
<target>${java.version}</target>
<encoding>UTF-8</encoding>
<compilerArgs>
<arg>-parameters</arg>
</compilerArgs>
<release>${java.version}</release>
<forceJavacCompilerUse>true</forceJavacCompilerUse>
</configuration>
<executions>
<!-- Replacing default-compile as it is treated specially by maven -->
<execution>
<id>default-compile</id>
<phase>none</phase>
</execution>
<!-- Replacing default-testCompile as it is treated specially by maven -->
<execution>
<id>default-testCompile</id>
<phase>none</phase>
</execution>
<execution>
<id>java-compile</id>
<phase>compile</phase>
<goals>
<goal>compile</goal>
</goals>
</execution>
<execution>
<id>java-test-compile</id>
<phase>test-compile</phase>
<goals>
<goal>testCompile</goal>
</goals>
</execution>
</executions>
</plugin>
언급URL : https://stackoverflow.com/questions/49105941/intellij-maven-project-fatal-error-compiling-invalid-flag-release
'programing' 카테고리의 다른 글
PHP exec() vs system() vs 패스스루() (0) | 2022.09.29 |
---|---|
int(11)와 int(11) UNSIGNARED의 차이점은 무엇입니까? (0) | 2022.09.29 |
Vue cli 3 - NYC 이스탄불 코드가 vue 파일을 포함하지 않음 (0) | 2022.09.29 |
mysqldriver를 사용하여 데이터베이스에 연결하는 중 오류 발생 (0) | 2022.09.29 |
Vuex 모듈이 작동하지 않는 이유는 무엇입니까?[vuex] 알 수 없는 변환 유형: moduleName/mutation (0) | 2022.09.29 |