Erreur: les parameters de type de T ne peuvent pas être déterminés lors de l’installation Maven

J’ai cette fonction en jetant une erreur bizarre lorsque j’essaie de faire une “installation MVN”

public  T get(final AN_ENUM key) { return some_map.get(key); } 

Ceci est la ligne où je reçois l’erreur

 final int value = get(AN_ENUM.A_FIELD); 

Et c’est l’erreur dans maven:

 XXX.java:[25,41] type parameters of T cannot be determined; no unique maximal instance exists for type variable T with upper bounds int,java.lang.Object 

Je sais déjà comment “réparer”. Je dois juste changer le int en Integer dans mon dernier exemple de code et le bogue disparaît. Il me dit que maven, pour une raison quelconque, ne peut pas convertir un entier en tant qu’int lorsque j’utilise un paramètre de type.

Ma question est .. pourquoi?

Dans eclipse, en utilisant le même JDK, j’ai pu exécuter mon application sans aucun problème ni avertissement.

  • JDK 1.6
  • Eclipse Indigo Service Release 2
  • Maven 3.0.4

Dans votre pom.xml , définissez la version cible sur au moins 1.5:

  org.apache.maven.plugins maven-comstackr-plugin 2.0.2  1.5 1.5   

De cette façon, Maven utilisera JDK 1.5 (ou vous pourrez le régler sur 1.6 si vous le souhaitez).

J’avais un problème similaire et il s’est avéré que je tentais de renvoyer un “booléen” (primitif) et non un “booléen” (object). Puisque vous essayez de le définir sur un “int” (primitif), il échouera.

Essayez de changer votre “int” en “Integer” et espérons que cela devrait résoudre le problème.