【问题标题】:package org.hamcrest does not exist [closed]包 org.hamcrest 不存在 [关闭]
【发布时间】:2018-07-30 19:17:11
【问题描述】:

我收到了错误 java: package org.hamcrest does not exist。 POM 文件如下所示:

<dependencies>
    ...
    <dependency>
        <groupId>org.hamcrest</groupId>
        <artifactId>hamcrest-all</artifactId>
        <version>1.3</version>
        <scope>test</scope>
    </dependency>
</dependencies>

在一些测试中,我有这个导致错误的导入:

import static org.hamcrest.CoreMatchers.*;

我正在使用 IntelliJ 2017.3.4

我尝试删除scope 标签并将其更改为compile,并导入其他hamcrest 包,如hamcrest.core。此外,运行 mvn clean 并重建项目也不起作用。

【问题讨论】:

  • 这些依赖包是否包含在 &lt;dependencyManagement/&gt; 中?
  • 不,它们在&lt;project&gt; 标签内
  • 你在使用mockito吗? Mockito 将自己的 org.hamcrest 包打包到 lib 中。我记得,这个包也曾经是 JUnit 的一部分,不知道它是否仍然存在问题。尝试将您的 hamcrest-all 依赖项定义移动到 dependencies 部分的首位(在 mockito 和 junit 依赖项之前)
  • @Bedla 我没有使用 Mockito。在 JUnit 之前移动包没有任何区别。

标签: java maven hamcrest


【解决方案1】:

手动删除 .idea 文件夹并重建工作正常。

【讨论】:

    【解决方案2】:

    您可以尝试从本地 repo 中删除它(我们通常在 ~/.m2/repository/org/hamcrest/ 下)并尝试再次构建项目。

    【讨论】:

      【解决方案3】:

      /apache-ignite-2.8.0-src/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/IgniteDynamicSqlRestoreTest.java:[52,27] 包 org.hamcrest 确实不存在

      遇到同样的错误。

      当 .m2/repository 被清除并重建时 - 问题得到解决

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-09-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-12-31
        • 1970-01-01
        • 2014-02-12
        • 1970-01-01
        相关资源
        最近更新 更多