我在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中消失了。
其他回答
我得到的错误,当我只是改变一些svn设置,而不是在代码中的任何东西。只是清理项目修复了错误。
既然你给我们的细节很少,很可能你所做的,这是一个非常容易犯的错误,而不是去
生成路径>配置生成路径>项目
然后从那里添加额外的项目文件夹,而不是
生成路径>配置生成路径>库
然后从那里添加你的项目文件夹。
如果你的代码是正确的,这是最肯定的情况,但通过ctrl+空格快捷键自动重新组织导入,而不是你的导入语句引用com.your。Additionalproject,你的引用都指向bin.com.your.additionalproject。
注意这个箱子。这意味着你通过将你的其他项目文件夹结构作为一个库来间接引用你的类,让你的IDE做所有的工作来查找你所引用的二进制类。
要纠正这一点,请从Libraries中删除该文件夹,并将其添加到Projects选项卡下,并重新组织导入。您的项目应该可以正常工作。
右键单击您的项目->属性->maven->活动maven配置文件(逗号分隔) 然后在该框中写入pom.xml并检查来自工作区项目的解析依赖项
我在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中消失了。
快速而简单地我用这种方式修复了它(我使用ADT版本:v21.0.0-531062在Windows XP家庭版)
Opened manifest file. Changed the Existing project minSdkVersion to the same value as maxSdkVersion ( advise: it may be good to create a New project and see what is it's maxSdkVersion ) Save manifest file. Right Click the project and select Build Project. From top menu: Project - Clean.. - check Only the relevant project, below I checked Start a build immediately and Build only the selected projects and OK. open the java file - NO red errors anymore ! Back to step 1 above and changing Back minSdkVersion to it's Original value (to supoprt as many Android version as possible).
这很有效,但每隔几天问题就会复发。我做同样的事情,它解决了问题,让我发展。