잘못된 타겟 릴리스 : 1.7


121

비슷한 질문을 보았지만 아직 답을 찾지 못했습니다.

maven 컴파일을 사용하면 다음을 얻습니다.

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.0:compile (default-compile) on project api: Fatal error compiling: invalid target release: 1.7 -> [Help 1]

다음은 pom.xml입니다.

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.0</version>
    <configuration>
        <source>1.7</source>
        <target>1.7</target>
        <encoding>UTF-8</encoding>
    </configuration>
</plugin>

Javac 버전 :

javac 1.7.0_25

자바 버전 :

java version "1.7.0_25"
Java(TM) SE Runtime Environment (build 1.7.0_25-b15)
Java HotSpot(TM) 64-Bit Server VM (build 23.25-b01, mixed mode)

그게 뭔지 아세요?


14
대부분의 maven은 Java 6을 사용하여 실행되고 있습니다.
Peter Lawrey 2013

3
모든 환경 변수를 확인하여 Java 6을 사용하는지 확인합니다. 예를 들어 Java 7이 경로에있을 수 있지만 JAVA_HOME 또는 이와 유사한 것을 사용하는 maven을 기억합니다.
Peter Lawrey 2013

36
을 실행합니다 mvn -version. 어떤 Java를 사용하는지 알려줍니다.
JB Nizet 2013

당신이 맞습니다, mvn은 Java 1.6을 사용하고 있습니다-어떻게 이것을 바꿀 수 있습니까?
Karan 2013

1
JAVA_HOME 변수를 JDK7 홈 디렉토리로 설정하십시오.
JB Nizet 2013

답변:


159

JAVA_HOME을 jdk7 홈 디렉토리로 설정해야합니다 (예 : Microsoft Windows).

  • "C : \ Program Files \ Java \ jdk1.7.0_40"

또는 OS X :

  • /Library/Java/JavaVirtualMachines/jdk1.7.0_40.jdk/Contents/Home

71
jdk6 및 jdk7이 설치된 Mac에서는 ~ / .profile에서 강제로 설정할 수 있습니다.export JAVA_HOME=$(/usr/libexec/java_home -v 1.7)
Hank

3
jdk8을 사용하여 jdk7 규정을 준수 할 수도 있습니다
Wolfgang Fahl

3
: 새로 고침 ~ / .profile에와 Mac의 기억source ~/.profile
카 이오 이글 레시아

이것은 아마도 많은 일에서 작동하지만 Maven에는 충분하지 않으며 확실히 Maven 컴파일러 플러그인에는 적합하지 않습니다. 여기에서 자신의 질문에 대한 Mike의 답변을 확인하십시오. stackoverflow 질문 24705877 이것은 명령 줄과 이클립스 내에서 문제를 해결했습니다. 또한 @LinGao는 stackoverflow 질문 2503658에 대한 답변 과 $ JAVACMD 변수를 사용하는 것이 도움이 될 수 있습니다.
Litome 2015 년

42

JAVA_HOME환경 변수를 설정하는 것 외에 Maven 실행 구성에서 올바른 JDK를 사용하고 있는지 확인해야합니다. 실행 -> 구성 실행으로 이동 하여 Maven 빌드 구성을 선택하고 JRE 탭으로 이동하여 올바른 런타임 JRE를 설정하십시오.

Maven 실행 구성


+1, 업데이트하는 것을 잊었다는 것을 알았습니다. 구성을 생성 할 때 기본 옵션은 "대체 JRE"였습니다. 다른 사람이 이것을 실행하는 경우 maven 플러그인 및 구성이 올바르게 업데이트되었는지 확인하십시오!
king14nyr

Java 8에 적합한 JAVA_HOME이 있었지만 여전히 부족했습니다. 당신은 내 문제, 덕분에 해결
dtortola

3

IntelliJ IDEA에서 잘 작동하고 Java 1.7로 실행되는 프로젝트를 가져올 때 이런 일이 발생했습니다. 나는 분명히 IntelliJ에 Java 1.7이 내 컴퓨터에 설치되어 있음을 알리지 않았으며 내 $JAVA_HOME.

Mac에서는 다음과 같이 해결됩니다.

모듈을 마우스 오른쪽 버튼으로 클릭 | 모듈 설정 | 계획

Project SDK에서 "New"를 선택하여 1.7 SDK를 추가합니다.

그런 다음 기본 IntelliJ IDEA 메뉴 | 환경 설정 | Maven | 달리는 사람

올바른 JRE를 선택하십시오. 제 경우에는 이제 1.7 인 Use Project SDK를 올바르게 업데이트했습니다.


Mac에는 적어도 Intellij에 대한 프로젝트 설정 및 환경 설정이 있습니다. 설정-> 빌드 Exec, 배포-> Java 컴파일러로 이동 한 다음 필요에 따라 프로젝트 바이트 코드 버전을 설정해야했습니다.
Opentuned 2015 년

1

Maven이 Eclipse 외부에서 작동하지만 JDK 변경 후이 오류가 발생하면 Maven Run Configuration으로 이동하고 Main 페이지 하단에 'Maven Runtime'옵션이 있습니다. Mine은 Embedded Maven을 사용하고 있었으므로 외부 Maven을 사용하도록 전환 한 후에 작동했습니다.


Maven 실행 구성은 어디에 있습니까?
R Claven 2015 년

1
build.xml을 마우스 오른쪽 버튼으로 클릭하고 '다음 계정으로 실행'으로 이동 한 다음 '구성 실행'이 마지막 옵션이어야합니다. 실행 구성 유형을 스크롤하면 'Maven 빌드'가 있으며 'Maven 런타임'을 선택할 수있는 옵션이 있습니다. 그 옆에 '구성'버튼이 있습니다
djb

0

이것은 아마도 많은 일에서 작동하지만 Maven에는 충분하지 않으며 확실히 Maven 컴파일러 플러그인에는 적합하지 않습니다.

여기에서 자신의 질문에 대한 Mike의 답변을 확인하십시오 : stackoverflow 질문 24705877

이것은 나에게 명령 줄과 이클립스 내에서 문제를 해결했습니다.

또한 @LinGao는 stackoverflow 질문 2503658에 대한 답변 과 $ JAVACMD 변수를 사용하는 것이 도움이 될 수 있지만 직접 테스트하지는 않았습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.