IDEE: javac: sursă de presă 1.7 necesită eliberare țintă 1.7

Când se execută o testare JUnit, folosind IntelliJ IDEA, am

Cum pot corecta acest lucru?

  • Folosind SDK 1.7
  • Modulul limbaj de nivel este de 1,7

Maven a construi funcționează bine. (Ca's de ce cred acest lucru în IDEEA problemă de configurare)

Soluția

Cel mai probabil ai incorecte compiler opțiuni importate din Maven aici:

De asemenea, a verifica proiectul și modul de bytecode (ținta) versiunea setările prezentate în screenshot.

Alte locuri unde sursa: limbaj de nivel este configurat:

  • Structura Proiectului | Proiect

  • Structură de proiect | Module (verifica fiecare modul) | Surse

Maven limba maternă nivel este 1.5 (5.0), veți vedea această versiune deoarece Modulul nivel de limbă pe poza de mai sus.

Acest lucru poate fi schimbat folosind maven-compiler-plugin de configurare în interiorul pom.xml:


  [...]

    [...]


        org.apache.maven.plugins
        maven-compiler-plugin

          1.8
          1.8



    [...]

  [...]

sau


  [...]

    1.8
    1.8

  [...]

IntelliJ IDEA va respecta această setare după Reimport proiectul Maven în Maven Proiecte instrument de fereastra:

Comentarii (12)

IntelliJ 15, 2016 & 2017

Similar cu care a discutat de mai jos pentru IntelliJ 13 & 14, dar cu un nivel suplimentar în Setări/Preferințe: Setări > Construirea, Executie, Implementare > Compilator > Compilatorul Java.

IntelliJ 13 & 14

În IntelliJ 13 și 14, verificați Settings > Compiler > Java Compiler UI pentru a vă asigura că're nu vizează un alt tip de bytecode versiunea în module.

Comentarii (6)

În IntelliJ IDEA 14.1 "Țintă bytecode versiune" este într-un loc diferit.

Următoarea modificare a lucrat pentru mine:

Fișier > Setări > a Construi, Executie, Implementare > Compiler > Compilatorul Java : modificați Țintă bytecode versiune de la 1,5 la 1,8

Comentarii (2)

Te-ai uitat la construi dvs. de configurare ar trebui să place că, dacă utilizați maven 3 și JDK 7


    SpringApp


            maven-compiler-plugin

                1.7
                1.7


        ...

    ...
Comentarii (0)

M-am întâlnit și a fost fix pentru a merge la Proiect Setări > Module > faceți clic pe modulul special > Dependențe tab. Am observat Modul SDK a fost încă stabilit pe 1.6, am schimbat-o la 1,7 și a funcționat.

Comentarii (1)

Am'am găsit necesar opțiuni ('țintă bytecode versiune') in setări > compiler > compilatorul java în cazul meu (intelij idee 12.1.3)

Comentarii (0)

Modifica compiler fișierul de setări de proiect în următoarea cale și de a schimba 'țintă' la 1,7:

/project/.idea/compiler.xml



Comentarii (1)

Am rezolvat prin setarea câmpul necompletat:

Setări > Compiler > Compilatorul Java > Proiect bytecode versiune

Decât IntelliJ folosește JDK default versiune.

Comentarii (0)

Am'am lovit în această după doar upgrade minor de IntelliJ IDEA 14 la v14.1. Pentru a-mi schimba un edit din partea de sus/părinte pom ajutat și apoi clic pe butonul re-import Maven (dacă nu este automatic).

Dar poate ca este suficient doar să faceți Clic pe modulul(modulele)/agregate/modulul de mamă și Maven -> Reimport.

Comentarii (1)

De la un moment la altul, de asemenea, am primit această eroare fără un motiv clar. Am schimbat tot felul de setari pe compilatoare/module etc. Dar în final am recreat IntelliJ proiect de reimporta proiectul Maven și problema a fost rezolvată. Cred că acest lucru este un bug.

IntelliJ 12 129.961

Comentarii (1)

Am rezolvat cu metoda de mai jos

Fișier >> Structura Proiectului >> Proiectul >> Proiectul Nivel de Limba --> setați buna versiune (ex: 1.5)

Comentarii (0)

Dacă Maven construi funcționează bine, încercați să sincronizarea structura de Maven și IntelliJ IDEA de proiecte.

În Maven instrument fereastră, faceți clic pe butonul de reîmprospătare . La apăsarea acestui buton, IntelliJ IDEA analizează structura proiectului în Maven instrument de fereastră.

Rețineți că acest lucru nu ar putea ajuta dacă ai're folosind EAP construi, deoarece Maven caracteristica de sincronizare poate fi rupt uneori.

Comentarii (0)

Dacă este un Gradle proiect, în a construi.gradle fișier, căutare pentru următoarele setări:

sourceCompatibility = "xx"
targetCompatibility = "xx"

Pentru toate subrpojects, în rădăcină a construi.gradle dosar, s-ar putea pune:

subprojects { project ->
    sourceCompatibility = "1.7"
    targetCompatibility = "1.7"
}

Deși puteți seta manual nivelul de limbă în Ideea > Setări, dacă este un Gradle proiect, Idee sincronizează automat module .iml fișiere de Gradle setări ( testat cu o Idee 15+). Deci toate modificările manuale sunt overriden când gradle este odihnit.

Bazat pe Gradle documentația, dacă acestea nu sunt stabilite, atunci curente JVM configurare este folosit.

Comentarii (0)

Am găsit un alt mod de a rula în această eroare. Puteți obține acest lucru, dacă au fost re-organizarea structura de directoare, iar una dintre măsuri este îndreptat la mamă vechi care nu se mai configurează javac (pentru că de configurare a fost mutat la un nivel mediu). Dacă acest lucru se întâmplă la nivel de top implicite la 1,5 și incorect nivel inferior pom mosteneste.

Deci, un alt lucru pentru a verifica atunci când vedeți această eroare este ca pom structura este de potrivire structura de directoare în mod corespunzător.

Comentarii (0)

verifica .idea/misc.xml uneori ai nevoie pentru a schimba languageLevel="JDK_1_X" atribut manual

Comentarii (0)

Aveți nevoie pentru a schimba compilatorul Java versiunea în a construi config.

Comentarii (0)

Asigurați-vă că depency este selectat. Fișier > Structura Proiectului

Selectați proiectul dumneavoastră și să navigați la Dependențe tab. Selectați dreptul de dependență de la verticală sau de a crea noi.

Comentarii (0)

Dacă toate soluțiile anterioare am't a lucrat pentru tine (care a fost cazul meu), puteți șterge intellij fișiere de configurare:

  • project_directory/.idea/compiler.xml
  • project_directory/.idea/encodings.xml
  • project_directory/.idea/misc.xml
  • project_directory/.idea/modules.xml
  • project_directory/.idea/vcs.xml
  • project_directory/.idea/workspace.xml
  • etc.

Intellij va regenera noi mai târziu. Cu toate acestea, să FIE ATENT, acest lucru va șterge, de asemenea, toate intellij de configurare a făcut pe projet (am.e: configurare de modul de depanare, ...)

Comentarii (0)