Eclipse不显示外部JAR文件中的类

时间:2014-12-19 10:03:33

标签: java eclipse import minecraft bukkit

我目前正在尝试使用Eclipse中的Bukkit API开发插件。但是,似乎我无法从API jar文件中导入特定的类。如果我打开jar文件并查看类列表,那么这些类就在那里。但是,eclipse不会接受将这些类导入到我自己的类中。它显示错误表示:

  

[classname]无法解析为类型

我认为没有理由不接受这门课程。正确导入同一包中的其他类。使用Bukkit API的其他开发人员没有这个问题(我特别要求)。

图片显示错误:

班级EntityEnderman与班级PathfinderGoalEndermanPickupBlock位于同一个包中。但EntityEnderman已正确导入,PathfinderGoalEndermanPickupBlock未正确导入。

这是一张图片,显示了如果点击修复项目设置选项会发生什么:

我已尝试手动编辑构建路径。

图片显示该类实际上已添加到项目的构建路径中的证据:

为什么会发生这种情况,我该如何解决?

我正在使用spigotmc.org上的1.8版API。我正在使用Linux Mint存储库(Eclipse 3.8)中提供的最新eclipse。但是,在Netbeans 8中也会发生同样的错误。

2 个答案:

答案 0 :(得分:2)

首先要做的事情:

您确定,项目中没有依赖冲突吗?

如果没有,[根据你的评论]

你可以尝试另外一件事,提取jar并将提取的文件放在你的代码中[我知道这是最糟糕的解决方案]但只是为了接近知道究竟是什么错误。

另外,正如您所提到的那样,类被标记为包级别可见性,因此您无法在包外部真正使用它。

答案 1 :(得分:0)

本周我有类似的问题:jar在Eclipse中显示,我可以"看到"其中的类,但不能在我的代码中导入类,与您类似的错误。

原来我的本地maven回购中的jar已经损坏:我无法打开它(使用winzip)。解决这个问题就像删除我本地仓库中的jar版本目录一样简单,并再次构建应用程序。这次,jar被正确下载,我可以使用它的类。