java - 错误:Maven 安装过程中无法确定 <T> T的类型参数

  显示原文与译文双语对照的内容
0 0

当我尝试执行 mvn install时,这个函数抛出了奇怪的错误"


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

这是我得到错误的地方


final int value = get(AN_ENUM.A_FIELD);

这是 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

我知道如何"修复它"。 我只需要在我的最后一个代码示例中将 int 更改为 Integer,然后 Bug 就会消失。 它告诉我,对于某些原因,当我使用类型参数时,某些原因不能将整数转换为整数。

我的问题是 ?

在 Eclipse 中,使用相同的JDK,我能够运行我的应用程序,但没有任何麻烦或者警告。

  • JDK 1.6
  • Eclipse Indigo服务发布 2
  • Maven 3.0.4
时间: 原作者:

0 0

在你的pom.xml 中,将目标版本设置为至少 1.5:


<plugin>
 <groupId>org.apache.maven.plugins</groupId>
 <artifactId>maven-compiler-plugin</artifactId>
 <version>2.0.2</version>
 <configuration>
 <source>1.5</source>
 <target>1.5</target>
 </configuration>
</plugin>

这样,Maven 将使用 1.5 ( 。或者你可以将它设置为 1.6如果你想要) 。

0 0

我有一个类似的问题,结果是我试图返回一个"布尔型"( 原始),而不是"布尔型"( 对象) 。 因为你试图将它设置为"int"( 原始),它最终会失败。

试着把你的"int"改为"整型",希望能修复它。

原作者:
...