Utilizzando IntelliJ IDE non è possibile compilare alcun progetto. Schermate delle impostazioni di seguito:
Usato JDK:
Project SDK e livello di lingua:
Livello linguistico:
Qualcuno ha qualche idea?
Utilizzando IntelliJ IDE non è possibile compilare alcun progetto. Schermate delle impostazioni di seguito:
Usato JDK:
Project SDK e livello di lingua:
Livello linguistico:
Qualcuno ha qualche idea?
Risposte:
Se stai usando Maven
Aggiungi il plug-in del compilatore pom.xml
sotto il project
nodo di livello superiore :
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
(Sollevato dai commenti.)
Nota: se non ti dispiace reimportare il tuo progetto, l'unica cosa che devi veramente fare è cambiare il pom e reimportare il progetto, IntelliJ prenderà le impostazioni corrette e non dovrai cambiarle manualmente.
Project Structure -> Project Settings -> Modules -> Denpendencies -> Module SDK
.
Questo sembra il tipo di errore generato da Maven quando il plug-in del compilatore non è configurato correttamente. Ecco un esempio di una configurazione del compilatore Java 8.
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<!-- ... -->
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
<!-- ... -->
</project>
project
, build
e poi plugins
.
<source>1.8</source>
e <target>1.8</target>
è configurato, può verificarsi l'errore sopra riportato.
java compiler
Nella finestra Impostazioni, imposta il codice byte di destinazione su 1.8
(o 9 per java9)
Esistono due modi per risolvere questo problema:
Molte risposte su Maven sono giuste ma non è necessario configurare direttamente il plugin.
Come descritto nella pagina wiki del plugin del compilatore Apache Maven, puoi semplicemente impostare le 2 proprietà utilizzate dal plugin.
<project>
[...]
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
[...]
</project>
org.apache.maven.plugins:maven-compiler-plugin
nel tuo file pom o gradle, ciò che nella documentazione inteso dire è che avere quella proprietà impostata nelle proprietà pom sarà sufficiente, fondamentalmente perché impostano i valori predefiniti del plugin, ad esempio <source> $ { maven.compiler.source} </source>
Ho risolto questo problema andando su Struttura del progetto -> Moduli , trova il modulo in questione, fai clic sulla scheda Dipendenze , Module SDK
passa a Project SDK
.
L'ho risolto cambiando la versione di compilazione di destinazione in 1.8. È dentro:
File >> Impostazioni >> Creazione, esecuzione, distribuzione >> Compilatore >> Compilatore Java
Nel mio caso ho risolto questo problema aprendo il file .iml del progetto (si trova nella cartella principale del progetto e ha il nome uguale al nome del progetto) e cambiando la riga <orderEntry type="jdk" jdkName="1.7" jdkType="JavaSDK" />
in<orderEntry type="jdk" jdkName="1.8" jdkType="JavaSDK" />
Ho configurato tutto come in altre risposte qui, ma per qualche motivo Idea ha aggiornato il file .iml in modo errato.
L'ho corretto modificando il mio file POM. Nota l'ultimo commento sotto la risposta più votata.
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
La fonte deve corrispondere al bersaglio.
Nel file di livello dell'app Gradle >> compileOptions aggiungi queste due righe
android {
compileOptions {
...
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
...
}
}
Sotto il file compiler.xml troverai:
<bytecodeTargetLevel>
<module name="your_project_name_main" target="1.8" />
<module name="your_project_name_test" target="1.8" />
</bytecodeTargetLevel>
e puoi cambiare il valore target dal tuo vecchio al nuovo per me avevo bisogno di cambiarlo da 1.5 a 1.8
Per me, il problema era che Maven non era in grado di trovare le configurazioni corrette, dal momento che questi elementi erano specificati nel padre principale.
La modifica del file -> Impostazioni -> Build, Excecution, Deployment -> Maven -> User Settings file per puntare alle mie impostazioni personalizzate con repository adeguati ha risolto il problema che altrimenti sarebbe stato nascosto.
È stato scoperto il problema tramite Guida -> Mostra log in explorer -> facendo clic sul file di registro, quando in precedenza veniva visualizzato solo l'errore nel titolo e "java.lang.NullPointerException" nella console.
Con Intellij , utilizzando Maven , è necessario verificare che Intellij abbia importato automaticamente il progetto. Puoi controllare facendo clic sulla scheda Maven a destra dell'Editor.
Se il tuo progetto non è qui, aggiungi il pom.xml
file facendo clic su +
.
Ovviamente, il progetto deve anche avere i seguenti <build/>
:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
Se nessuna delle altre risposte funziona, controlla l'SDK del modulo .
Ho avuto questo errore pop-up per me dopo aver aggiornato il progetto SDK a 1.8, il compilatore Javac a 1.8, ecc. L'impostazione che era il problema per me era il "Modulo SDK".
(su Linux) Vai a File > Project Structure...
quindi nella finestra che si apre, seleziona Modules
sotto Project Settings
. Seleziona il modulo in questione dall'elenco e quindi dalla Dependencies
scheda e assicurati che Module SDK
sia impostato in modo appropriato.