Maven이 Java 1.8을 인식하도록 할 수 없습니다.
Maven이 Java 1.8을 사용하도록 할 수없는 것 같습니다. 1.8을 대상으로 사용하면 다음 오류가 발생합니다.
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile
(default-compile) on project csaro: Fatal error compiling: invalid target
release: 1.8 -> [Help 1]
오류의 원인은 분명합니다. Maven이 올바른 버전의 Java를 사용하고 있지 않습니다.
$ mvn -version
Apache Maven 3.2.2 (45f7c06d68e745d05611f7fd14efb6594181933e; 2014-06-17T07:51:42-06:00)
Maven home: /usr/local/Cellar/maven/3.2.2/libexec
Java version: 1.7.0_51, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "10.9.2", arch: "x86_64", family: "mac"
그러나 설치된 Java 버전은 1.8이어야합니다.
$ java -version
java version "1.8.0_20-ea"
Java(TM) SE Runtime Environment (build 1.8.0_20-ea-b22)
Java HotSpot(TM) 64-Bit Server VM (build 25.20-b21, mixed mode)
그리고 JAVA_HOME이 설정됩니다.
$ echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk/Contents/Home
나는 또한 시도 여기에 명령을 (생성 된 mavenrc
). 컴퓨터를 여러 번 다시 시작해 보았고 env var가 올바르게 설정되었는지 확인했습니다 (에서 설정 됨 .bash_profile
).
Maven은 Homebrew와 함께 설치되었습니다.
Java 1.8은 Eclipse (m2e 사용)에서 잘 작동합니다. Maven이 명령 줄에서 작동하도록 할 수 없습니다.
나에게 문제는 설치에서 설치할 때 디렉토리 링크를 새로운 1.8 JDK로 jdk-8u25-macosx-x64.dmg
업데이트하지 않았다는 것 /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK
입니다. 이것은 원래 질문의 문제가 아닐 수도 있지만 동일한 오류 메시지가 발생했을 때 저에게 해결책이었습니다.
설치 프로그램이 연결하지 않는 이유를 모르겠고 더 혼란스럽게 만들기 위해 Oracle 또는 Apple에서 설치했는지 여부에 따라 경로가 다릅니다. Mac OS X 10.6.7 Java 경로 현재 JDK 혼동을 참조하십시오.
내 환경을 수정하기 위해 다음을 수행했습니다.
cd /System/Library/Frameworks/JavaVM.framework/Versions
sudo rm CurrentJDK
sudo ln -s /Library/Java/JavaVirtualMachines/<installed_jdk_version>.jdk/Contents CurrentJDK
~/.mavenrc
값을 설정 한 파일을 잊은 것으로 나타났습니다 JAVA_HOME
.
향후 독자를 위해 다음 위치에서 재정의 할 수있는 위치를 확인하십시오 JAVA_HOME
(우선 순위 오름차순).
~/.bash_profile
~/.bash_login
~/.bashrc
~/.profile
/etc/mavenrc
~/.mavenrc
나를 위해 일한 솔루션 :
Eclipse에서 Maven 빌드에 잘못된 실행 구성이 있습니다. 이동
구성 실행-> JRE [Tab]
런타임을 Java 8로 설정하십시오.
CentOS 6.5 시스템에서 동일한 문제가 발생했습니다.
java -version
Java 8 버전을 javac -version
반환 했지만 Java 7 버전을 반환했습니다.
모든 종류의 Java 관련 심볼릭 링크가 내 JDK 8 설치를 가리 키도록하려면 다음 명령을 실행해야했습니다.
sudo alternatives --config java
sudo alternatives --config javac
sudo alternatives --config jre_openjdk
sudo alternatives --config java_sdk_openjdk
당신 JAVA_HOME
은 다른 곳에서 무시되고 있습니다. mvn
자바 호출 직전에 에코를 시도하십시오 .
Java 11에서 "잘못된 대상 릴리스"오류가 발생할 수도 있습니다.
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler- plugin:3.8.0:compile (default-compile) on project projects-migration: Fatal error compiling: error: invalid target release: 1.11 -> [Help 1]
POM 1.11
대신 설정하면 11
.
틀림 :
<java.version>1.11</java.version>
옳은:
<java.version>11</java.version>
나는 같은 문제가 있었고 수정하기 위해 2 단계가 필요했습니다.
JAVA_HOME
JDK를 올바르게 가리 키도록 설정되어 있는지 확인하십시오 .- Eclipse의 JDK 및 JRE는 동일한 버전을 가리켜 야합니다.
For me 1 step was right, 2nd step had problem. In eclipse » Project's properties » Build Path » Installed JRE » point to JDK.
You are using an early access release of 1.8. Now that is has been released, you should install the released version.
Check you maven installation to see if you have a configuration associated with it that specifies a particular JDK. Occasionally there are wrapper scripts which reset JAVA_HOME prior to maven launch, or the maven executable is launched in a wrapper that refers to a config file that could bind you to a particular JVM.
If you are using Maven within a continuous integration server be sure to check it's settings as it may override the JDK used by Maven. For Jenkins, I had to add the new 1.8 JDK in the general settings and configure my project to use it.
참고URL : https://stackoverflow.com/questions/24705877/cant-get-maven-to-recognize-java-1-8
'Development Tip' 카테고리의 다른 글
서명 된 APK Android Studio 생성 (0) | 2020.10.28 |
---|---|
더 효율적인 것 : System.arraycopy 또는 Arrays.copyOf? (0) | 2020.10.28 |
word2vec : 네거티브 샘플링 (일반 용어)? (0) | 2020.10.28 |
Visual Studio에서 명명 규칙 위반 메시지를 제거하는 방법은 무엇입니까? (0) | 2020.10.28 |
Ruby에서 "콜백"을 구현하는 방법은 무엇입니까? (0) | 2020.10.28 |