Maven Compiler vs Eclipse Compiler Generics Unterschied?

Ich habe viele Probleme in meinem Projekt entdeckt, als ich von Eclipse Build zu Maven Build gewechselt bin. Ich benutze das 2.5.1 Compiler Plugin.

JDK ist open-JDK-7

Ich habe das Problem in einem neuen Projekt isoliert und das Problem folgendermaßen beschrieben:

public class Test {

public static void main(String[] args) {
    List<String> list = newList();
    for(String name : sort(newList(list))) {
        System.out.println(name);
    }
}

public static <T> List<T> newList() {
    return new ArrayList<T>();
}

public static <T, E extends T> List<T> newList(Collection<E> list) {
    return new ArrayList<T>();
}

public static <T> List<T> sort(List<T> list) {
    return list;
}
}

Dies kann nicht mit JavaC kompiliert werden (funktioniert jedoch in Eclipse) und gibt den folgenden Fehler an:

[FEHLER] Ziel konnte nicht ausgeführt werden org.apache.maven.plugins: maven-compiler-plugin: 2.5.1: Kompilierung (Standard-Kompilierung) bei Projekttest: Kompilierungsfehler
[FEHLER] /home/username/workspaces/projectx43/test/src/main/java/test/Test.java:[11,24] Fehler: Inkompatible Typen

Und das wird funktionieren:

public class Test {

    public static void main(String[] args) {
        List<String> list = newList();
        for(String name : sort(newList(list))) {
            System.out.println(name);
        }
    }

    public static <T> List<T> newList() {
        return new ArrayList<T>();
    }

    public static <T> List<T> newList(Collection<? extends T> list) {
        return new ArrayList<T>();
    }

    public static <T> List<T> sort(List<T> list) {
        return list;
    }
}

Jeder kann sehen, dass die Version mit E genauso gut ist wie die mit nur T. Die Frage ist jetzt, ob ich den Javac-Compiler anpassen kann, um dies zu akzeptieren. Alle Informationen hierzu wäre dankbar.

Auch eine andere Möglichkeit: Handelt openJDK 7 anders als SunJDK 7? Wenn Sie dieses Snippet überprüfen können, verwenden Sie bitte die neuesten Versionen von Sun JDK 7 oder sogar die Beta-Version von JDK 8. Vielen Dank.

PS: Ich habe die Fragen zu Eclipse vs. JavaC + Generics gelesen und die verknüpften Bugs müssen behoben werden.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage