2016-07-26 27 views
0

Ich schreibe etwas (einen Kartengenerator) mit der LibGDX-Bibliothek, die die Möglichkeit bietet, ein HTML5-Deployable mit GWT zu erstellen.Warum kann GWT in Java 8 nicht kompiliert werden?

Allerdings, wenn ich die Gradle bauen laufen erhalte ich diesen Fehler:

:html:compileGwt 
Compiling module technology.rocketjump.undermount.mapgen.GdxDefinition 
    Validating units: 
    [ERROR] Errors in 'file:/D:/workspace/undermount-mapgen/core/src/main/java/technology/rocketjump/undermount/mapgen/generators/RiverGenerator.java' 
    [ERROR] Line 61: RiverPathfindingCalculator cannot be resolved to a type 
    [ERROR] Line 89: The left-hand side of an assignment must be a variable 

Der Fehler anzeigt, die folgenden Zeilen zu sein scheint in RiverGenerator.java

private boolean runRiver(GridPoint2 startPoint, GridPoint2 endPoint, GameMap map) { 

    RiverPathfindingCalculator pathfinder = new RiverPathfindingCalculator(startPoint, endPoint, map); 
    List<GridPoint2> path = pathfinder.findPath(); 

jedoch RiverPathfindingCalculator ist nur eine andere Java-Klasse in das gleiche Projekt. Es scheint richtig zu in der Datei importiert zu werden, hier ist die Einfuhr von RiverGenerator

package technology.rocketjump.undermount.mapgen.generators; 

import com.badlogic.gdx.math.GridPoint2; 
import technology.rocketjump.undermount.mapgen.calculators.RiverPathfindingCalculator; 
import technology.rocketjump.undermount.mapgen.model.TileType; 
import technology.rocketjump.undermount.mapgen.model.output.*; 

import java.util.*; 

Sie können view the relevant code on Github. Irgendwelche Ideen, was ich falsch mache oder wie ich das beheben kann?

Antwort

3

GWT < Version 2.8 unterstützt nicht die Java8-Syntax, also keine Lambda-Ausdrücke.

Schreiben Sie dieses Lambda in einen "normalen" Comparator (die meisten IDEs haben ein Refactoring, um es automatisch zu tun) und GWT sollte glücklich sein.

+0

Gerade als dieser Kommentar kam durch, dass ich ein Lambda in verlassen hatte! Danke :) –

+4

GWT 2.8 (Release-Kandidat wird nun für die Veröffentlichung vorbereitet ...) wird Java 8, sowohl Syntax als auch viele der neuen SDK-Funktionen unterstützen! –