[英]Eclipse not showing classes from an external JAR file
我目前正在尝试使用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中也会出现同样的错误。
首先要做的事情:
您确定,您的项目中没有依赖冲突吗?
如果没有,[根据你的意见]
你可以尝试一件事,提取jar并将提取的文件放在你的代码中[我知道这是最糟糕的解决方案]但只是为了接近知道究竟是什么错误。
此外,正如您所提到的那样,类被标记为包级别可见性,因此您无法在包外部真正使用它。
本周我有类似的问题:jar在Eclipse中显示,我可以“看到”其中的类,但是无法在我的代码中导入类,与您类似的错误。
结果我的本地maven回购中的jar已损坏:我无法打开它(使用winzip)。 解决这个问题就像在我的本地仓库中删除jar的版本目录一样简单,并再次构建应用程序。 这次,jar被正确下载,我能够使用它的类。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.