2015-10-29 17 views
9

Für ein Projekt, an dem ich gerade arbeite, gab IntelliJ mir den Kompilierfehler Error:java: javacTask: source release 8 requires target release 1.8. Ich ging in Settings> Build, Execution, Deployment> Compiler> Java und sah, dass die Ziel-Bytecode-Version für eines meiner Module auf 1,5 gesetzt war, also änderte ich es auf 1,8, kompilierte und es funktionierte. Aber am nächsten Tag bekam ich den gleichen Fehler. Ich ging in Einstellungen und der Ziel-Bytecode für dieses eine Modul war wieder bei 1,5. Ich änderte es auf 1.8 und es kompilierte/lief gut. Dies ist jetzt mehrfach passiert und ich bin frustriert darüber, wie oft ich in Einstellungen gehen muss, um die Ziel-Bytecode-Version manuell zu ändern.IntelliJ Ziel-Bytecode wird zurückgesetzt

Warum kehrt die Ziel-Bytecode-Version immer wieder zurück? Ich habe 1.5 nicht in der Pom oder anderswo angegeben, so bin ich verblüfft, warum die Bytecodeversion immer auf 1,5 gesetzt wird.

+0

'baffled' ist genau wie ich fühlte. –

Antwort

6

Die akzeptierte Antwort ist richtig in dem Sinne, dass Sie die Quell- und Ziel Versionen in Ihrer pom.xml Datei angeben müssen, aber da die maven-compiler-plugin sind standardmäßig hinzugefügt, wäre ein einfacher Weg, um die folgenden Eigenschaften zu setzen:

<properties> 
    <maven.compiler.source>1.8</maven.compiler.source> 
    <maven.compiler.target>1.8</maven.compiler.target> 
</properties> 
+1

Dies sollte die akzeptierte Antwort sein – RedShift

8

Sie müssen dies Ihren POM bis dd:

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>3.3</version> 
      <configuration> 
       <source>1.8</source> 
       <target>1.8</target> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 
Verwandte Themen