2015-10-26 13 views
6

Ho il seguente codice:Errore nella compilazione del codice con un'espressione lambda

package com.mongoDB; 

import spark.Spark; 

public class HelloWorldSparkStyle { 
    public static void main(String[] args) { 
     Spark.get("/hello", (req, res) -> "Hello World"); 
    } 
} 

Funziona benissimo quando l'eseguo attraverso il metodo principale, ma getta il seguente errore quando provo a compilarlo:

\HelloWorldSparkStyle.java:[9,33] error: lambda expressions are not supported in -source 1.5 

D:\WorkspaceWithJava8\BeginnerProject>javac -version 
javac 1.8.0_60 

Sto usando Eclipse IDE e sto provando a compilarlo tramite la riga di comando.

+0

quale versione di eclipse o netbeans usi? –

risposta

6

Per impostazione predefinita, lo maven-compiler-plugin utilizza Java 5 per compilare le classi. Citando its documentation:

Si noti inoltre che allo stato attuale l'impostazione della sorgente di default è 1.5 e l'impostazione di default è 1.5, indipendentemente dal JDK si esegue Maven con. Se si desidera modificare queste impostazioni predefinite, è necessario impostare origine e destinazione come descritto in Impostazione di -source e -target del compilatore Java.

è necessario configurarlo in modo da utilizzare Java 8, in questo modo:

<plugin> 
    <artifactId>maven-compiler-plugin</artifactId> 
    <version>3.3</version> 
    <configuration> 
     <source>1.8</source> 
     <target>1.8</target> 
    </configuration> 
</plugin> 
+0

modo più conciso di impostare questi parametri è tramite le proprietà: ' 1.8 1.8 ' – OndrejM

1

Vorrei esporre ulteriormente risposta di cui sopra. Inserisci il plugin indicato nella risposta sopra tra <project> e </project> come di seguito.

<build> 
<plugins> 
    <plugin> 
     <artifactId>maven-compiler-plugin</artifactId> 
     <version>3.3</version> 
     <configuration> 
      <source>1.8</source> 
      <target>1.8</target> 
     </configuration> 
    </plugin> 
</plugins> 
</build> 
Problemi correlati