日食:"The type Vector is not generic. ..."

eclipse: "The type Vector is not generic. ..."

我在 eclipse 中有一个 java 项目并出现编译错误 "The type Vector is not a generic. ...."

我知道如果有多个编译器 level/version 设置错误,就会出现此错误。

我已将 JDK1.8 添加到构建路径:

我还在编译器设置中设置了版本 1.8:

最后但同样重要的是,我还在 Project Facets 中设置了正确的 Java 版本 (1.8):

可能是我瞎了但是项目设置哪里错了Java版本....

正如我在评论中所写的那样,我有一个 "reactivate" 一个非常古老的项目......这不是一个好主意!该项目的一部分还有 cldcapi11.zip(这是一个带有“.zip”后缀的 jar)和 midpapi20.jar。这两个 jar 的一部分还有一些 JDK 类 像 java.util.Vectorjava.util.Timer 等等。为了编译这些东西,我必须删除两个 jar 或将两个 jar 放在 JDK8 库后面......

哎呀!谁收集官方JDK 类在他的jar文件里?!?不好看...

您可以使用 "shade" 作业将 non-generic JDK 集合 类 移动到不同的包(例如 backport.java.util.Vector)并更新cldcapi11/midpapi20 罐子中的引用。这将为您提供新的 cldcapi11 阴影和 midpapi20 阴影罐,您可以将它们包含在您的应用程序中。

同意"ARRRGH!"!不得不重建别人错误构建的工件是很烦人的。