Errore: java: versione di origine non valida: 8 in Intellij. Cosa significa?


342

Sto cercando di compilare un codice in Sto usando Intellij Ultimate 13.1.4, ma ottengo il seguente errore e non ho idea di cosa significhi:

Information:Using javac 1.7.0_55 to compile java sources
Information:java: Errors occurred while compiling module 'Example'
Information:Compilation completed with 1 error and 0 warnings in 3 sec
Information:1 error
Information:0 warnings
Error:java: invalid source release: 8

La mia ipotesi è che sia qualcosa correlato a Java 8 vs Java 7, ma non ho idea di cosa specificamente. Ho provato a cercare Google per questo messaggio, ma parlano javaco o target release, quindi non sembra esattamente applicarsi.


2
Quale versione di Java è installata? A quale JRE / JDK hai indicato Intellij, nelle impostazioni IDE?
nanofarad,

2
Probabilmente le impostazioni del progetto. Controlla il JDK che stai indicando e il livello di lingua che hai richiesto.
duffymo,

1
@duffymo avevi ragione, indicava 8. Non avevo capito che era un'ambientazione.
David dice di reintegrare Monica il

Risposte:


769

Ho avuto lo stesso problema durante il "downgrade" di un progetto da Java 8 a Java 6. Il motivo era che non era stato modificato in nessun punto di IntelliJ.

In IntelliJ 13.1.4 ho dovuto modificare la versione Java e SDK nei seguenti punti per non ottenere questo errore:

  • File -> Struttura del progetto -> Impostazioni del progetto
  • File -> Struttura del progetto -> Impostazioni modulo -> Scheda: Fonti: Livello lingua
  • File -> Struttura del progetto -> Impostazioni modulo -> Scheda: Dipendenze: Modulo SDK
  • File -> Impostazioni -> Compilatore -> Compilatore Java -> Versione bytecode di destinazione

schermata di File> Struttura del progetto> Progetto

schermata di File> Struttura del progetto> Moduli> Sorgenti

schermata di File> Struttura del progetto> Moduli> Dipendenze

schermata di File> Impostazioni / Preferenze> Compilatore> Compilatore Java

L'ultimo proiettile è stato quello che non è stato aggiornato nel mio caso. Una volta modificato, l'errore è scomparso.


31
quello uccidermi era questo: File -> Settings -> Compiler -> Java Compiler -> Target bytecode version. Grazie.
Bitoiu,

18
Stavo riscontrando anche questo problema, ma nessuno dei precedenti ha funzionato. Ho dovuto farlo IntelliJ IDEA -> Preferences... -> Build, Execution, Deployment -> Build Tools -> Gradle -> Gradle JVM, nel caso in cui qualcuno stia riscontrando questo problema durante l'utilizzo di Gradle.
Emil

2
Fonte: Cambio del livello della lingua su 7 - Diamanti, ARM, multi-catch ecc. Per IDEA 15
Mia

4
Questa dovrebbe essere la risposta accettata. Come un piccolo heads-up, in IntelliJ IDEA 15, il punto 4 è passato a Preferences -> Build, Execution, Deployment -> Compiler -> Java Compiler.
Solo il

Esiste anche una selezione JRE in alcune configurazioni di esecuzione / debug. Ad esempio, le configurazioni di esecuzione / debug di Tomcat dispongono di un selettore "JRE" che può causare questo errore.
jordanpg,

16

Controlla il tuo pom.xmlprimo (se ne hai uno)
Controlla la JDKdipendenza del tuo modulo . Assicurati che sia Per fare questo, vai su Project Structure -> SDK's Aggiungi il percorso in cui hai archiviato 1.8 (1.8

jdk1.8.0_45.jdk nel mio caso)
Applica le modifiche
Ora, vai a Struttura del progetto -> Moduli
Cambia l'SDK del modulo per applicare le modifiche1.8

Ecco! Hai finito


6

Per gli utenti Gradle che hanno questi problemi, se nulla sopra aiuta questo è ciò che ha risolto il mio problema - applica queste dichiarazioni nei tuoi file build.gradle:

targetCompatibility = 1.6 //or 1.7;1.8 and so on
sourceCompatibility = 1.6 //or 1.7;1.8 and so on

Problema risolto!


5

Passa pom.xml 1.6a1.8

<plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <configuration>
        <source>1.8</source>
        <target>1.8</target>
    </configuration>
</plugin>

5

Può essere semplicemente superato impostando Project Structure. Devi solo selezionare il percorso giusto per la versione correlata di JDK. Selezionare newnella scheda Dipendenze e scegliere il percorso. E 'fatto!

inserisci qui la descrizione dell'immagine


4

Se stai utilizzando Gradle come strumento di generazione e ricevi questo errore quando esegui un'attività Gradle, ad esempio TomcatRun, dai un'occhiata all'altra mia risposta alla stessa domanda

javac: versione target non valida: 1.8


Grazie! Ciò ha risolto il mio problema dopo che le risposte di cui sopra non lo facevano.
Chazzlabs,

2

La risposta di Andreas Lundgren ha funzionato e sono stato in grado di compilare ed eseguire la mia app.

Tuttavia, quando ho provato a eseguire i test JUnit associati al progetto, ho ricevuto lo stesso errore. In esecuzione

gradle -version

dal prompt dei comandi di Windows ha mostrato che Gradle stava ancora raccogliendo il jdk errato. Per risolverlo ho dovuto impostare la JAVA_HOMEvariabile d'ambiente in modo che puntasse al jdk corretto e riavvia IntelliJ.


1

Ho controllato tutte le suddette versioni del progetto, versione del modulo, versione del bytecode del progetto, impostazioni della versione del bytecode di destinazione IntelliJ Idea, ma erano tutte uguali a quelle che avevo graffiato.

Affronto questo errore Error:java: invalid source release: 1.8in IntelliJ Idea 2017.2.6quanto ho aggiornato la versione di dipendenza Mavendel file pom, che (dipendenza) avrebbero dovuto costruire per JDK 1.8 applicazione e io stavamo costruendo la mia applicazione su e con la fonte compilatore Maven e la destinazione JDK 1.7.

Quindi ho nuovamente eseguito il downgrade della versione di dipendenza alla precedente in Mavenpom, e l'errore è andato dopo il progetto Rebuild Module 'xyz_project'.


0

Per gli utenti Grails, applica queste dichiarazioni nel tuo file BuildConfig.groovy:

grails.project.target.level = 1.6 //or 1.7;1.8 and so on
grails.project.source.level = 1.6 //or 1.7;1.8 and so on

0

Devi fare clic sul progetto Open Module Settings e modificare il percorso del tuo JDK, se nel file POM usi jdk 1.8, configura jdk 1.8 con il percorso corretto.



0

Ho provato tutti i passaggi menzionati qui https://stackoverflow.com/a/26009627/2058104 , ma il quarto punto è ora cambiato. Devi andare su Preferenze -> Build, Execution, Deployment -> Compiler -> Java Compiler

Lì, come mostrato nella figura seguente, è necessario modificare la "Versione bytecode di destinazione". Anche se l'ho cambiato in 8 (poiché avevo bisogno di eseguire il downgrade a Java 8), stava dando lo stesso errore, ancora e ancora. Pertanto, provare a rimuovere la voce esistente (in questa tabella) e aggiungerla di nuovo. Questo ha funzionato per me.

inserisci qui la descrizione dell'immagine

D'altra parte, pulire il progetto e provare a eseguirlo di nuovo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.