bestimmt werden habe ich diese Funktion seltsame Fehler zu werfen, wenn ich versuche, eine zu tun „mvn install“Fehler: Typ Parameter von <T> T kann nicht während Maven
public <T> T get(final AN_ENUM key)
{
return some_map.get(key);
}
Das ist die Linie, wo ich den Fehler
final int value = get(AN_ENUM.A_FIELD);
Und das ist der Fehler in maven:
XXX.java:[25,41] type parameters of <T>T cannot be determined;
no unique maximal instance exists for type variable T with
upper bounds int,java.lang.Object
ich weiß schon, wie man "fix it" . Ich muss nur die int
zu Integer
in meinem letzten Codebeispiel ändern und der Fehler verschwindet. Es sagt mir, dass Maven aus irgendeinem Grund nicht in der Lage ist, einen Integer als int darzustellen, wenn ich einen Typparameter verwende.
Meine Frage ist .. warum?
In Eclipse, mit dem gleichen JDK, konnte ich meine Anwendung ohne irgendwelche Probleme oder Warnungen laufen lassen.
- JDK 1.6
- Eclipse-Indigo Service Release 2
- Maven 3.0.4
Was ist die Quellstufe im maven Compiler-Plugin in der POM.xml? Ist es auf weniger als 1,5 eingestellt? – GMK
Was passiert, wenn Sie mit javac kompilieren? Sie könnten feststellen, dass dies eine Diskrepanz zwischen ECJ und javac ist. – hertzsprung