Eclipse:类路径引用的归档文件不存在

时间:2013-03-15 14:41:19

标签: java eclipse maven pom.xml

我的Eclipse是Indigo Java classic。

我有一个java项目,它将mockito-all作为依赖项。 pom.xml中:

<dependency>
    <groupId>org.mockito</groupId>
    <artifactId>mockito-all</artifactId>
    <version>1.8.5</version>
    <scope>test</scope>
</dependency>

运行mvn clean install,一切正常。然后我做了mvn eclipse:eclipse来解决Eclipse中的所有依赖项。

当我尝试在eclipse中运行Junit时,它不会运行并给我这个错误:

'Launching YourTest' has encountered a problem.

The archive: /home/shengjie/.m2/repository/org/mockito/mockito-all/1.9.5.jar which is referenced by the classpath, does not exist.

我的项目pom.xml声称它取决于mockito-all 1.8.5,我不确定1.9.5引用的来源。有什么想法吗?

== EDIT ==

$ mvn dependency:tree | grep mockito
[INFO] +- org.mockito:mockito-all:jar:1.8.5:test
[INFO] \- org.powermock:powermock-api-mockito:jar:1.4.12:test
[INFO] \- org.powermock:powermock-api-mockito:jar:1.4.12:test
[INFO]    +- org.mockito:mockito-all:jar:1.8.5:test (version managed from 1.9.0)
[INFO] |  +- org.mockito:mockito-all:jar:1.8.5:test (version managed from 1.9.5; scope managed from compile)
[INFO] |  +- org.mockito:mockito-all:jar:1.8.5:test (version managed from 1.9.5; scope managed from compile)
[INFO] \- org.powermock:powermock-api-mockito:jar:1.4.12:test
[INFO] +- org.mockito:mockito-all:jar:1.8.5:test
[INFO] +- org.powermock:powermock-api-mockito:jar:1.4.12:test
[INFO] |  +- org.mockito:mockito-all:jar:1.8.5:test (version managed from 1.9.5; scope managed from compile)

7 个答案:

答案 0 :(得分:62)

当我试图启动我的tomcat时,我遇到了类似的问题。我建议您通过以下方式检查“Classpath”:

1)运行配置

  • 右键单击您的项目
    • 然后点击“运行” - &gt; “运行配置......”
    • 检查您的项目设置(例如,在我的情况下,它是Apache Tomcat)
    • 此处查看“用户条目”
    • 下的“Classpath”标签

2)项目类路径

  • 右键点击您的项目 - &gt; “属性” - &gt; “Java构建路径”
    • 现在检查“来源”标签以及“图书馆”标签
    • 问题应在“库”标签中标记为红色

答案 1 :(得分:7)

在我使用ANT的情况下,我更改了Windows中的设置 - &gt;偏好 - &gt;蚂蚁 - &gt;运行时 - &gt;全球参赛作品。 您需要将tools.jar添加为外部Jar。

答案 2 :(得分:2)

在我的情况下,我安装了JRE,然后添加了JDK。尽管我改变了我的项目以使用JDK,但ANT似乎坚持使用JRE。

为了解决这个问题,我必须这样做: 1.选择&#34;运行方式...&#34; 2.选择第二个&#34; Ant构建......&#34;选项 3.这将打开一个允许设置配置的面板。选择&#34; JRE&#34;选项卡并将选定的JRE更改为JDK

答案 3 :(得分:2)

转到窗口>显示视图>导航器

您将看到.classpath文件,在其中可以看到与您的 M2回购相关的依赖项

一个例子是-

<classpathentry 
 exported="true" 
 kind="var" 
 path="M2_REPO/javax/activation/activation/1.1.1-redhat-2/activation-1.1.1-redhat-2.jar"/>

将版本更改为

下的版本
  

项目资源管理器>您的项目>库> Maven依赖项

enter image description here

希望这可以解决问题。

答案 4 :(得分:1)

如果之前的任何答案都不起作用,请尝试以下方法: 右键单击您的项目 - &gt;调试为 - &gt;打开调试对话框... - &gt;在类路径中,你会发现罐子给你带来了麻烦。删除它。

希望这对你有用,因为它对我有用。

答案 5 :(得分:0)

我重现了这个问题

enter image description here

分辨率:-

如错误“类路径引用的存档:/ AutomationPrj / src / test / resources / 资源中所述,不存在。”

在我的项目中/ AutomationPrj / src / test / resources ** / resources **确实不存在。我在适当的位置创建了资源文件夹[空],并解决了问题。

enter image description here

答案 6 :(得分:-1)

这可能是java和eclipse的版本问题。

我从kepler升级到火星,我使用的是JAVA 1.7。 我在tools.jar面临同样的问题。

我降级了日食,这次构建成功了。 它可能对你有帮助。