2015-10-29 14 views
9

W przypadku projektu, nad którym obecnie pracuję, IntelliJ podał błąd kompilacji Error:java: javacTask: source release 8 requires target release 1.8. Wszedłem do Ustawienia> Kompilacja, Wykonanie, Wdrażanie> Kompilator> Java i zobaczyłem, że docelowa wersja kodu bajtowego dla jednego z moich modułów została ustawiona na 1.5, więc zmieniłem ją na 1.8, skompilowałem i działało. Ale następnego dnia dostałem ten sam błąd. Poszedłem do ustawień, a docelowy kod bajtowy dla tego modułu wrócił do 1.5. Zmieniłem go na 1.8 i skompilował/przebiegł dobrze. To zdarzyło się już wiele razy i jestem sfrustrowany tym, ile razy muszę przejść do ustawień, aby ręcznie zmienić docelową wersję kodu bajtowego.Kod powrotu celu IntelliJ dla kodu bajtowego

Dlaczego powtarza się docelowa wersja kodu bajtowego? Nie mam 1,5 określonego w pom lub nigdzie indziej, więc jestem zaskoczony, dlaczego wersja kodu bajtowego ciągle jest ustawiona na 1.5.

+0

"zbity z tropu" jest dokładnie taki, jaki czułem. –

Odpowiedz

6

Przyjęty odpowiedź jest poprawna w sensie, że trzeba określić wersje źródłowe i docelowe w pliku pom.xml, ale ponieważ jest maven-compiler-plugin dodany domyślnie, łatwiejszym sposobem na to byłoby ustawienie następujących właściwości:

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

To powinna być zaakceptowana odpowiedź – RedShift

8

Trzeba dd to do POM:

<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> 
Powiązane problemy