我在Eclipse中出现了一个错误。这个错误信息是什么意思:
无法解析iglu.ir.TermVector类型。它是从必需的.class文件中间接引用的
我在Eclipse中出现了一个错误。这个错误信息是什么意思:
无法解析iglu.ir.TermVector类型。它是从必需的.class文件中间接引用的
当前回答
我在Eclipse 4.4.2中遇到过一个有趣的案例。我的项目(P1)引用了一个外部类(项目P2),它有两个同名但参数类型不同的方法:
public static void setItem(Integer id) …
public static void setItem(Item item) …
类型Item包含在第三个项目P3中,我不想在这里看到它。P1只调用了第一个方法:
ExternalClass.setItem(Integer.valueOf(12345));
因此,使用Item类的第二个方法没有被使用,而且P3确实不在编译类路径中——如果没有被使用,为什么要使用它呢?
Eclipse告诉我
The type ...Item cannot be resolved.
It is indirectly referenced from required .class files
从命令行编译不会产生任何此类问题。更改第二个方法的名称(此处未使用!)也使这个问题在Eclipse中消失了。
其他回答
对我来说,上面的解决方案都没用。 对我来说有用的是选择类中的所有代码,然后将其转换为注释, 保存,然后将其转换回正常文本,错误就消失了。
In my case ,I created a project and made its minSdkVersion=9 and targetSdkVersion=17. I used automatically generated libs/android-support-v4.jar. I also had to make use of ActionBarActivity using android-support-v7-appcomapt.jar. So I just copied the android-support-v7-appcompat.jar file from android-sdk/extras/andrid/support/v7/appcompat/libs folder and pasted it to my project libs folder. And this caused the above error. So basically,I needed to put android-support-v4.jar file from android-sdk/extras/andrid/support/v7/appcompat/libs as well to my project libs folder. As per my knowledge the v7.jar file had dependencies on v4.jar file. So ,it needed it own v4.jarfile,instead of my project,automatically created v4.jar file.
我得到的错误,当我只是改变一些svn设置,而不是在代码中的任何东西。只是清理项目修复了错误。
当jar文件中的类不遵循与jar文件夹结构相同的结构时,就会发生此错误。
例如,如果你的类文件包含包com.test.exam,并且从这个类文件创建的classes.jar包含结构test.exam…将抛出错误。您需要纠正classes.jar的包结构,然后将其包含在eclipse构建路径中…
在我的例子中,这是因为我在pom.xml文件中添加了一个新的依赖项。
新的依赖项依赖于旧版本的库(2.5)。我的pom.xml中的另一个库需要相同的库,但它需要3.0版本。
出于某种原因,当Maven遇到这些冲突时,它会简单地忽略最新的版本。在Eclipse中查看pom.xml时,您可以选择底部的“依赖层次结构”选项卡,以查看依赖关系是如何解析的。在这里,您将发现是否因为这个原因而忽略了所讨论的库(以及类)。
在我的例子中,这就像锁定新版本一样简单。您可以通过右键单击该条目来做到这一点—在上下文菜单中有一个选项可以将其锁定。