Widziałem podobne pytania, ale nie znalazłem jeszcze odpowiedzi.
Używając kompilacji Maven, otrzymuję:
[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]
Oto plik 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>
Wersja Javac:
javac 1.7.0_25
Wersja Java:
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)
Masz jakiś pomysł, co to może być?
mvn -version
. Powie Ci, której Javy używa.Odpowiedzi:
Musisz ustawić JAVA_HOME na swój katalog domowy jdk7, na przykład w systemie Microsoft Windows:
lub na OS X:
źródło
export JAVA_HOME=$(/usr/libexec/java_home -v 1.7)
source ~/.profile
Poza ustawieniem
JAVA_HOME
zmiennej środowiskowej, musisz upewnić się, że używasz poprawnego JDK w konfiguracji Mavena. Idź do Run -> Run Configuration , wybierz konfigurację Maven Build, przejdź do zakładki JRE i ustaw poprawne Runtime JRE.źródło
W IntelliJ IDEA zdarzyło mi się to, kiedy zaimportowałem projekt, który działał dobrze i działał z Javą 1.7. Najwyraźniej nie powiadomiłem IntelliJ, że java 1.7 została zainstalowana na moim komputerze i nie znalazłem mojego
$JAVA_HOME
.Na komputerze Mac można to rozwiązać przez:
Kliknięcie prawym przyciskiem myszy na moduł | Ustawienia modułu | Projekt
i dodając 1.7 SDK, wybierając „Nowy” w Project SDK.
Następnie przejdź do głównego menu IntelliJ IDEA | Preferencje | Maven | Biegacz
i wybierz poprawne środowisko JRE. W moim przypadku poprawnie zaktualizował Użyj Project SDK, który był teraz 1.7.
źródło
Kiedy maven pracuje poza Eclipse, ale podaje ten błąd po zmianie JDK, przejdź do konfiguracji Maven Run, a na dole strony głównej znajduje się opcja „Maven Runtime”. Mój używał wbudowanego mavena, więc po przełączeniu go na mojego zewnętrznego mavena, zadziałało.
źródło
Prawdopodobnie działa to na wiele rzeczy, ale nie wystarcza dla Mavena, a już na pewno nie dla wtyczki kompilatora maven.
Sprawdź odpowiedź Mike'a na jego własne pytanie tutaj: pytanie stackoverflow 24705877
To rozwiązało problem zarówno w wierszu poleceń, jak i podczas zaćmienia.
Również @LinGao odpowiedź na pytanie 2503658 stackoverflow i użycie zmiennej $ JAVACMD może pomóc, ale sam tego nie testowałem.
źródło