오류 "소스 옵션 5는 더 이상 지원되지 않습니다.메이븐 컴파일에서 6 이상 사용"
에서 다음과 같은 가 발생합니다.$ mvn compile
:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project Sym360: Compilation failure: Compilation failure:
[ERROR] Source option 5 is no longer supported. Use 6 or later.
[ERROR] Target option 1.5 is no longer supported. Use 1.6 or later.
[ERROR] -> [Help 1]
제 가 있습니다.pom.xml
:
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.test.app</groupId>
<artifactId>Tset</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>Test</name>
<url>http://maven.apache.org</url>
<properties>
<maven.compiler.source>6</maven.compiler.source>
<maven.compiler.target>1.6</maven.compiler.target>
</properties>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.1</version>
</plugin>
</plugins>
</pluginManagement>
</build>
<dependencies>
<!-https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-
java -->
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.14.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.testng/testng -->
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.14.3</version>
<scope>test</scope>
</dependency>
에 .pom.xml
코드는 있지만 여전히 동일한 오류가 발생합니다.
제게 도움이 된 것은 pom.xml 파일의 이 행들입니다.
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
또한 나의 한 곳에서.IntelliJ IDEA
프로젝트, 위의 모든 답변 외에도 또 다른 시도: 프로젝트 구조의 모듈 섹션에서 언어 수준만 변경하면 됩니다 [아래 이미지].
저도 같은 문제가 있었는데, 문제는 부동산에 있습니다.프로젝트에서 JavaSE 버전을 확인하면 프로젝트의 JRE System Library 폴더 옆에 표시됩니다.1.5이면 오류가 발생합니다.아마도 업데이트된 버전이 있을 것이므로 버전을 확인하고 업데이트하십시오.당신의 코드를 바탕으로 아래와 같이 업데이트하였습니다.
<properties>
<maven.compiler.source>1.6</maven.compiler.source>
<maven.compiler.target>1.6</maven.compiler.target>
</properties>
저도 같은 문제가 있었고 pom.xml에 아래 구성을 추가했는데 작동합니다.
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
Eclipse
이것은 저에게 도움이 되었습니다.
- 프로젝트를 마우스 오른쪽 버튼으로 클릭합니다.
- Build path를 클릭합니다.
- 빌드 경로 구성을 클릭합니다.
- Java 빌드 경로 창이 열립니다.
- 왼쪽에서 Java 컴파일러를 클릭합니다.
- 컴파일러 호환성 수준을 설정하기 위해 jre 버전에 따라 설정된 Java 컴파일러 창으로 이동합니다(예: Java 버전이 1.8이면 1.8을 선택하십시오).
- [적용] 버튼을 클릭합니다.
- [OK] 버튼을 클릭합니다.
- 프로젝트 > 메이븐 > 프로젝트 업데이트를 마우스 오른쪽 버튼으로 클릭합니다.
- Project > Run As > Maven install 오른쪽 클릭 -- pom.xml 파일이 실행 중이고 java jars가 다운로드되어 프로젝트에 설치됩니다.
- Project > Run As > Maven Test에서 마우스 오른쪽 버튼을 클릭합니다. -- pom.xml 파일이 실행 중이고 java jars가 다운로드되어 프로젝트에 설치됩니다.
그런 다음 빌드 성공 메시지가 표시되고 메이븐 프로젝트가 성공적으로 생성됩니다.
pom.xml을 잘못 사용한 것 같습니다.
<properties>
<maven.compiler.source>6</maven.compiler.source>
<maven.compiler.target>1.6</maven.compiler.target>
</properties>
다음으로 변경:
<properties>
<maven.compiler.source>1.6</maven.compiler.source>
<maven.compiler.target>1.6</maven.compiler.target>
</properties>
이제 명령줄을 사용하는지 여부에 따라 다음을 사용합니다.
mvn 정리 컴파일
또는 어느 쪽이든(반대)
프로젝트 Run with maven > build > 목표(컴파일) 우클릭
pom에 아래 코드를 추가하면 문제가 해결됩니다.
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
</properties>
<profiles>
저는 같은 문제에 직면하여 아래의 코드 행으로 해결했습니다.
<properties>
<maven.compiler.source>1.6</maven.compiler.source>
<maven.compiler.target>1.6</maven.compiler.target>
</properties>
는 이것을 이는것에추고쳤다니습여가에 .pom.xml
파일 이름:
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<failOnMissingWebXml>false</failOnMissingWebXml>
</properties>
그렇게 오랜 시간이 흐른 후, 행복하게도 같은 오류를 볼 수 있습니다! :p
[ERROR] 소스 옵션 5는 더 이상 지원되지 않습니다.7 이상을 사용합니다.[ERROR] 대상 옵션 5는 더 이상 지원되지 않습니다.7 이상을 사용합니다.
pom.xml에는 소스 또는 대상 선언이 없었기 때문에 메이븐은 설치 JVM(현재 18에 있음)에서 가져올 만큼 영리하지 않고 일부 오래된 버전을 기본값으로 사용했을 것입니다.
그래서 원래의 문제를 알지 못한 채 아래의 스니펫을 통해서도 해결할 수 있었습니다.그러면 특정 소스 및 대상 버전이 선언되어 문제가 억제됩니다.
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>18</source>
<target>18</target>
</configuration>
</plugin>
</plugins>
</build>
다음과 같은 질문을 받은 사람도 있습니다.
이것이 작동하는 것은 이해하지만, 왜 메이븐이 지원하지 않는 기본 소스 값을 사용하는지 이해할 수 없습니다.–
답은 다음과 같습니다.
메이븐은 당신이 어떤 버전의 JDK를 사용할지 모릅니다.
JDK 1.8과 함께 사용하면 Maven 컴파일이 성공적으로 작동합니다.
최신 버전의 JDK를 사용할 때 사용할 바이트 코드 버전이 명확하지 않습니다.그래서 메이븐스는 펀트를 했고 수년간 사용해온 것을 계속 사용하고 있습니다.
현재 Maven(일반 빌드 도구)은 모두가 좋아할 기본 바이트 코드 버전을 선택하기 어렵습니다.
따라서 소스 코드의 버전과 생성하려는 바이트 코드를 pom.xml 파일에 넣는 것이 가장 좋습니다.
이 ( 더 의 "Maven"을 사용해야 한다고 주장할 수 있습니다.maven-compiler-plugin
제가 말씀드렸듯이 어떤 버전이 선택되든 누군가는 그것에 문제가 있을 것입니다.
예
를 들어,JDK 한다면, 당신은 을 사용하고 이고, JDK 11, JDK 11, 그리고 Java 11이 필요할 것입니다.-source 11 -target 11
코드를 컴파일할 때.
플러그인의 가장 최근 릴리스조차도maven-compiler-plugin:3.10.1
기본적으로 JDK 1.7 구문을 사용하므로 Java 11 코드에 대한 컴파일 오류가 발생합니다.
문제에 대한 전체 설명
다른 사람들은 이렇게 말했지만, 완전하게.기본 pom.xml은 maven-compiler-plugin을 지정하지 않습니다.사용된 버전을 확인하려면 사용할 수 있습니다.
mvn help:effective-pom | more
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
당신은 그것을 보게 될 것입니다.maven-compiler-plugin:3.1
사용 중입니다.에서는 이버서다명생령것볼수있을다습니성는하을음전에▁with▁command▁a▁generates로 명령어를 생성하는 을 볼 수 .-target 1.5 -source 1.5
Java 1.8보다 최신 버전의 Java와 함께 사용할 경우 오류가 발생합니다.
다음은 JDK 17을 사용할 때 발생하는 오류를 보여줍니다.
mvn --version
Apache Maven 3.8.6 (84538c9988a25aec085021c365c560670ad80f63)
Maven home: D:\p\apache-maven-3.8.6
Java version: 17.0.2, vendor: Oracle Corporation, runtime: D:\p\jdk-17.0.2
Default locale: en_US, platform encoding: Cp1252
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
mvn clean install -X
. . .
[DEBUG] -d D:\Play\maven\helloworld\target\classes -classpath D:\Play\maven\helloworld\target\classes; -sourcepath D:\Play\maven\helloworld\src\main\java; -g -nowarn -target 1.5 -source 1.5
. . .
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] Source option 5 is no longer supported. Use 7 or later.
[ERROR] Target option 5 is no longer supported. Use 7 or later.
[INFO] 2 errors
픽스
수정 사항은 최신 버전을 지정하기 위해 maven pom.xml 파일을 업데이트하는 것이었습니다.maven-compiler-plugin
로 테스트했습니다.maven-compiler-plugin:3.10.1
그리고 그것은 사용합니다.-target 1.7 -source 1.7
구문은 다음과 같습니다.
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.10.1</version>
</plugin>
</plugins>
</build>
이 쓰기 버전의 시점3.10.1
최신 버전입니다.
다른 옵션은 생성할 바이트 코드의 버전을 지정하는 것입니다. 한 가지 방법은 다음을 사용하는 것입니다(다른 답변에 나와 있음).
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
이는 이전 버전 3.1 플러그인에서도 작동합니다.
새로운 Apache net Bean의 경우 SUPARNA SOMAN의 제안과 약간 다릅니다.
- 프로젝트를 마우스 오른쪽 단추로 클릭 - ""에서 마우스 오른쪽 단추를 누릅니다.
set configuration
클릭합니다.customize configuration
-.새 대화 상자가 열립니다. - 범주가 있는 왼쪽 모서리에서 "을 클릭합니다.
Source
" - 아래 페이지의 선택 양식에서 필요한 버전의 JDK를 선택합니다. 마지막 단계는 이미지를 참조하십시오.jdk 버전을 변경하는 데 필요한 마지막 단계
MacOS에는 여러 버전이 있습니다.
user> ls /Library/Java/JavaVirtualMachines/
jdk-11.0.4.jdk jdk-12.0.2.jdk jdk1.8.0_221.jdk
JAVA_HOME이 제대로 정의되지 않았기 때문에 Maven은 jdk-12를 사용했습니다.저는 jdk-11, jdk-8, jdk-12를 가지고 있습니다.
user> mvn -version
Apache Maven 3.6.1
Maven home: /usr/local/Cellar/maven/3.6.1/libexec
Java version: 12.0.2, vendor: Oracle Corporation, runtime: /Library/Java/JavaVirtualMachines/jdk-12.0.2.jdk/Contents/Home
Default locale: XXX, platform encoding: UTF-8
OS name: "mac os x", version: "10.14.6", arch: "x86_64", family: "mac"
그래서:
정의JAVA_HOME
jdk-8을 사용합니다.
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home
다시 시도해 보세요, 이제 메이븐은:
user> mvn -version
Maven home: /usr/local/Cellar/maven/3.6.1/libexec
Java version: 1.8.0_221, vendor: Oracle Corporation, runtime: /Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home/jre
빌드는 다음과 같습니다.
[INFO] BUILD SUCCESS
위의 어떤 해결책도 저에게 효과가 없었습니다.
어떤 이유로 제 프로젝트 이름이 iml인 파일이 변경되었습니다.이전 하위 버전 리포지토리 제출에서 차이를 발견했습니다...
projectname.iml에서 다음 행을 찾았습니다.
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_5">
그리고 제가 해야 할 일은 그것을 11로 바꾸는 것이었습니다.
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_11">
다음은 제게 도움이 된 솔루션입니다.
오류 소스 옵션 5는 더 이상 지원되지 않습니다. 6 이상 사용
그래서 저는 이 지침을 따랐고 문제가 해결되었습니다.
- 프로젝트 속성 열기(파일 메뉴)
- 소스/이진 형식을 최신 버전으로 변경합니다(이 경우 JDK 7)
정리 및 구축 후 프로젝트 실행
이것은 새로운 것에서 온 메시지입니다.javac
예:
$ java -version
openjdk version "11" 2018-09-25
$ javac -source 1.5 -target 1.5 Test.java
error: Source option 5 is no longer supported. Use 6 or later.
error: Target option 1.5 is no longer supported. Use 1.6 or later.
따라서 3.8.0 이전 버전의 Maven("/<source>
<target>
... 참고:3.8.0 이후 기본값은 1.5에서 1.6")로 변경되었습니다.그maven-compiler-plugin:3.1
당신이 사용하는 것은 2013년 4월부터입니다.
두 가지 가능성이 있습니다.
메이븐 버전을 최신 버전으로 업데이트하십시오(권장합니다).
2.2. Java 9 이상
...
<properties> <maven.compiler.release>...</maven.compiler.release> </properties>
Eclipse에서 Write on project를 클릭하고 속성으로 이동합니다.메이븐을 검색하여 jdk 상위 버전(1.7 이상)을 구성하고 적용합니다.이제 메이븐 설치를 시도합니다.
의 코드를 MacOS Big Sur, JDK에 하였습니다.pom.xml
아래에 표시된 파일.는 습다니했가를 했습니다.15
제 JDK 버전을 위해서요.
<properties>
<maven.compiler.source>15</maven.compiler.source>
<maven.compiler.target>15</maven.compiler.target>
</properties>
그리고 다시 실행했습니다.$ mvn clean wildfly:deploy
그리고 그것은 성공하였다.
소스 옵션 5는 더 이상 지원되지 않습니다.메이븐 컴파일에서 6 이상 사용"
pom.xml 파일 열기
옵션 1: 빌드 태그 추가
옵션 2: 속성 태그 추가
<project>
<groupId>com.pluralsight</groupId>
<artifactId>HelloWorld</artifactId>
<version>1.0-SNAPSHOT</version>
<modelVersion>4.0.0</modelVersion>
<packaging>jar</packaging>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<release>12</release>
</configuration>
</plugin>
</plugins>
</build>
</project>
OR
<project>
<groupId>com.pluralsight</groupId>
<artifactId>HelloWorld</artifactId>
<version>1.0-SNAPSHOT</version>
<modelVersion>4.0.0</modelVersion>
<packaging>jar</packaging>
<properties>
<maven.compiler.source>1.6</maven.compiler.source>
<maven.compiler.target>1.6</maven.compiler.target>
</properties>
</project>
변경할 내용
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_5">
로.
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_11">
설치한 대로 빌드 경로에서 업데이트된 Java 버전 설정
저는 $JAVA_HOME이 비어 있음을 발견하여 문제를 해결합니다.설정 후 컴파일에 성공했습니다.
유사한 종류의 오류가 발생하는 경우, 내 pom.xml 파일에서 아래에 언급한 대로 버전을 변경하십시오.
언급URL : https://stackoverflow.com/questions/53034953/error-source-option-5-is-no-longer-supported-use-6-or-later-on-maven-compile
'code' 카테고리의 다른 글
특정 테이블 및 항목에 대한 데이터베이스 덤프 만들기 Postgres (0) | 2023.05.28 |
---|---|
C#은 VB.NET의 DirectCast에 해당합니다. (0) | 2023.05.28 |
R 다운로드.Excel 워크북의 파일 문제 (0) | 2023.05.28 |
알파벳 순으로 순서 나열 (0) | 2023.05.28 |
Git 저장소 디렉터리 위치를 변경합니다. (0) | 2023.05.28 |