Eclipse:类路径引用的存档不存在
Posted
技术标签:
【中文标题】Eclipse:类路径引用的存档不存在【英文标题】:Eclipse: The archive which is referenced by the classpath, does not exist 【发布时间】:2013-03-04 08:00:35 【问题描述】:我的 Eclipse 是 Indigo Java 经典。
我有一个 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 引用的来源。有什么想法吗?
==编辑==
$ 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)
【问题讨论】:
您确定您的 pom.xml 没有其他依赖于版本 1.9.5 的依赖项吗? 添加了一个 mvn 依赖:tree dump,请看一下:) 不是答案,而是另一种选择:是否可以在 Eclipse 环境中使用 m2e? 您是否尝试过从您的应用程序库中手动删除对 mockito-all.jar 版本 1.9.5 的引用? @Korhan Öztürk 你是怎么做到的? 【参考方案1】:我在尝试启动我的 tomcat 时遇到了类似的问题。我建议您通过以下方式检查“类路径”:
1) 运行配置
右键单击您的项目 然后点击“运行”->“运行配置...” 检查您的项目设置(例如,在我的情况下,它是 Apache Tomcat) 在此处查看“用户条目”下的“类路径”选项卡2) 项目类路径
右键单击您的项目->“属性”->“Java构建路径” 现在检查“源”选项卡以及“库”选项卡 问题应在“库”标签中标记为红色【讨论】:
运行配置是我的问题。谢谢。 运行配置也是我的问题。在我按下 Run Configurations -> Classpath 选项卡中的“Restore Default Entries”按钮后,“User Entries”下的条目被刷新。 16/05/2019,这个回答救了我。谢谢比罗尔!【参考方案2】:在我使用 ANT 的情况下,我更改了 Windows --> Preferences --> Ant --> Runtime --> Global Entries 中的设置。 您需要将 tools.jar 添加为外部 Jar。
【讨论】:
太棒了。我想知道为什么它突然改变了。更新后可能吗?【参考方案3】:转到窗口 > 显示视图 > 导航器
在那里您将看到.classpath
文件,其中可以看到与您的M2 Repo 相关的依赖项
一个例子是 -
<classpathentry
exported="true"
kind="var"
path="M2_REPO/javax/activation/activation/1.1.1-redhat-2/activation-1.1.1-redhat-2.jar"/>
把版本改成下面的那个
Project Explorer > Your Project > Libraraies > Maven 依赖项
希望这能解决问题。
【讨论】:
这正是我的问题。非常感谢!【参考方案4】:就我而言,我安装了 JRE,然后添加了 JDK。即使我将项目更改为使用 JDK,ANT 似乎仍坚持使用 JRE。
要解决这个问题,我必须这样做: 1.选择“运行方式...” 2.选择第二个“Ant build...”选项 3. 这将打开一个面板以允许设置配置。选择“JRE”选项卡,将选中的JRE改为JDK
【讨论】:
【参考方案5】:如果之前的任何答案都不起作用,请尝试以下操作: 右键单击您的项目 -> 调试为 -> 打开调试对话框 ... -> 在类路径中,您会找到导致您遇到问题的 jar。删除它。
希望这对你有用,因为它对我有用。
【讨论】:
【参考方案6】:我重现了这个问题
分辨率:-
如错误“归档:/AutomationPrj/src/test/resources/resources 被类路径引用,不存在。”中所述。
在我的项目中 /AutomationPrj/src/test/resources**/resources** 确实不存在。我在适当的位置创建了资源文件夹 [empty] 并解决了问题。
【讨论】:
【参考方案7】:可能是java和eclipse的版本问题。
我从开普勒升级到火星,我使用的是 JAVA 1.7。 我在使用 tools.jar 时遇到了同样的问题。
我降级了 Eclipse,这次构建运行成功。 它可能会帮助你。
【讨论】:
以上是关于Eclipse:类路径引用的存档不存在的主要内容,如果未能解决你的问题,请参考以下文章
Eclipse -- Testng 引用不存在的项目 XXX,启动配置
eclipse 中jsp的java代码部分引用了一个不存在的变量,怎么不提示报错