2016-08-08 104 views
0

Ich mache eine Mod für das Spiel Minecraft. Mit Eclipse funktioniert alles gut, die Kompilation ist erfolgreich und ich kann das Spiel mit meinem erstellten Mod spielen. Allerdings, wenn ich meinen Code mit gradle kompilieren, bekomme ich diesen Fehler:aktuelles Argument ... kann nicht umgewandelt werden in ... durch Methodenaufruf Konvertierung

C:\Users\Alexandre\MCForge\ForgeCreeperHeal\debug\build\sources\main\java\fr\eyzox\dependencygraph\DependencyGraph.java:31: error: method buildIndex in class DataKeyProvider<K> cannot be applied to given types; 
         node.keyProvider.buildIndex(index, node); 
             ^
    required: Map<KEY,DependencyGraph<KEY,? extends IData<KEY>>.Node>,DependencyGraph<KEY,? extends IData<KEY>>.Node 
    found: Map<KEY,DependencyGraph<KEY,DATA>.Node>,DependencyGraph<KEY,DATA>.Node 
    reason: actual argument Map<KEY,DependencyGraph<KEY,DATA>.Node> cannot be converted to Map<KEY,DependencyGraph<KEY,? extends IData<KEY>>.Node> by method invocation conversion 
    where KEY,DATA,K are type-variables: 
    KEY extends Object declared in class DependencyGraph 
    DATA extends IData<KEY> declared in class DependencyGraph 
    K extends Object declared in class DataKeyProvider 

Ich verstehe nicht, warum es auf Eclipse funktioniert aber nicht mit gradle. Vielleicht ist Pur Java's Generika Missverständnis, aber ich bezweifle es, weil alles in Eclipse funktioniert. Ist es der Fehler von meiner Seite oder sollte ich nach einem Gradle Plugin Bug suchen? Ich bin ein Anfänger in Großbuchstaben.

Vielleicht werden Quellcode und build.gradle benötigt, um mein Problem zu verstehen. Ich habe hier ein Repo erstellt: https://github.com/RedRelay/FCH_DEBUG

EDIT: Es scheint ein Problem im Zusammenhang mit Eclipse. Ich habe gerade gelernt, Eclipse hat einen eigenen Compiler, und es scheint dies anstelle von Standard-Javac zu ermöglichen.

Antwort

0

Eclipse hat einen eigenen Compiler, der es anstelle des Standard-Javac-Compilers erlaubt. Ich habe

geändert

protected abstract void buildIndex(final Map<K, DependencyGraph<K, ? extends IData<K>>.Node> index, final DependencyGraph<K, ? extends IData<K>>.Node theNode) throws DuplicateKeyException; zu protected abstract <D extends IData<K>> void buildIndex(final Map<K, DependencyGraph<K, D>.Node> index, final DependencyGraph<K, D>.Node theNode) throws DuplicateKeyException; und es funktioniert jetzt.