我在Eclipse中出现了一个错误。这个错误信息是什么意思:
无法解析iglu.ir.TermVector类型。它是从必需的.class文件中间接引用的
我在Eclipse中出现了一个错误。这个错误信息是什么意思:
无法解析iglu.ir.TermVector类型。它是从必需的.class文件中间接引用的
当前回答
在我的例子中,这是因为我在pom.xml文件中添加了一个新的依赖项。
新的依赖项依赖于旧版本的库(2.5)。我的pom.xml中的另一个库需要相同的库,但它需要3.0版本。
出于某种原因,当Maven遇到这些冲突时,它会简单地忽略最新的版本。在Eclipse中查看pom.xml时,您可以选择底部的“依赖层次结构”选项卡,以查看依赖关系是如何解析的。在这里,您将发现是否因为这个原因而忽略了所讨论的库(以及类)。
在我的例子中,这就像锁定新版本一样简单。您可以通过右键单击该条目来做到这一点—在上下文菜单中有一个选项可以将其锁定。
其他回答
在我的例子中,问题是“javax.ws.rs”。在Tomcat中启动web应用程序时,执行webapplicationexception无法解决。
添加以下库(Maven)的解决方案:
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
<version>2.0</version>
</dependency>
在我的例子中,这是因为我在pom.xml文件中添加了一个新的依赖项。
新的依赖项依赖于旧版本的库(2.5)。我的pom.xml中的另一个库需要相同的库,但它需要3.0版本。
出于某种原因,当Maven遇到这些冲突时,它会简单地忽略最新的版本。在Eclipse中查看pom.xml时,您可以选择底部的“依赖层次结构”选项卡,以查看依赖关系是如何解析的。在这里,您将发现是否因为这个原因而忽略了所讨论的库(以及类)。
在我的例子中,这就像锁定新版本一样简单。您可以通过右键单击该条目来做到这一点—在上下文菜单中有一个选项可以将其锁定。
快速而简单地我用这种方式修复了它(我使用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).
这很有效,但每隔几天问题就会复发。我做同样的事情,它解决了问题,让我发展。
什么为我修复它是右键单击项目> Maven >更新项目
当jar文件中的类不遵循与jar文件夹结构相同的结构时,就会发生此错误。
例如,如果你的类文件包含包com.test.exam,并且从这个类文件创建的classes.jar包含结构test.exam…将抛出错误。您需要纠正classes.jar的包结构,然后将其包含在eclipse构建路径中…