当我使用 maven 进行编译但在 eclipse 中工作时出现编译错误。两者都使用相同的 JDK:
java -version
java version "1.6.0_35"
Java(TM) SE Runtime Environment (build 1.6.0_35-b10)
Java HotSpot(TM) 64-Bit Server VM (build 20.10-b01, mixed mode)
mvn -version
Apache Maven 3.0.4
Maven home: /usr/share/maven
Java version: 1.6.0_35, vendor: Sun Microsystems Inc.
Java home: /usr/lib/jvm/jdk1.6.0_35/jre
Default locale: es_ES, platform encoding: UTF-8
OS name: "linux", version: "3.2.0-29-generic", arch: "amd64", family: "unix"
这是错误:
[ERROR] /blablabla.../myClass.java: [78,107] inconvertible types
[ERROR] found : java.util.Collection<java.lang.Object>
[ERROR] required: java.util.Collection<? extends org.springframework.integration.store.MessageGroup>
[ERROR] -> [Help 1]
这是代码(在 eclipse 中没有编译错误):
Collection<? extends MessageGroup> collection = (Collection<? extends MessageGroup>) this.groupMap.values();
我知道这是一个相当递归的问题,我发现有几个帖子提出了同样的问题,但似乎没有人有标准的修复方法。有人说这适用于不同的 JDK 版本。我已经用 1.6.0_30、1.6.0_31、1.6.0_32 和 1.6.0_35 进行了测试,但都失败了。
有什么想法吗?
谢谢
最佳答案
我怀疑 eclipse 没有使用您认为的 JDK。尝试使用类型删除。
Collection<? extends MessageGroup> collection =
(Collection<? extends MessageGroup>)
(Collection) this.groupMap.values();
关于java - 错误的maven编译错误(在eclipse中工作),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12201972/