【问题标题】:Intellij Cannot resolve symbol RunWith even if maven dependencies found即使找到 maven 依赖项,Intellij 也无法解析符号 RunWith
【发布时间】:2015-11-29 20:26:02
【问题描述】:

我的 IntelliJ IDEA 看到了 JUnit 4 Maven 依赖项。

但不解析来自这些依赖项的任何符号

有什么想法吗?

【问题讨论】:

  • 您是否尝试清理/重建您的项目作为健全性检查问题:)?
  • 我没有找到任何干净的操作,但我使用了 build > Rebuild Project,它说包 org.junit.runner 不存在和其他 4 个同类错误。
  • 这个问题和你的stackoverflow.com/questions/23579746/…类似
  • 是的,我也做了两个:重新导入并使用相同的 Maven 安装。但没有效果。
  • junittest 范围和BookSearchTest 源目录下的测试类 (src/main/java) ?

标签: java maven intellij-idea junit


【解决方案1】:

我遵循了这些步骤,并能够使用 Intellij 代码洞察力编写 TestCase

在 shell 中,我做了以下操作

mkdir so33987661
mkdir so33987661/src/
mkdir so33987661/src/test
mkdir so33987661/src/test/java
cd so33987661
vi pom.xml

我的pom.xml

<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.so33987661</groupId>
    <artifactId>my-project</artifactId>
    <version>1.0</version>
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>info.cukes</groupId>
            <artifactId>cucumber-junit</artifactId>
            <version>1.2.0</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
</project>

返回 Intellij,选择 File 菜单、NewProject from Existing Sources

打开so33987661/pom.xml 文件。

选中自动导入 Maven 项目

点击下一步,接受其余屏幕的默认设置,直到项目创建完成。

导航到src/test/java 文件夹并创建一个新的测试和代码,代码,代码。

import org.junit.Test;
import org.junit.runner.RunWith;

import cucumber.api.junit.Cucumber;

@RunWith(Cucumber.class)
public class BookSearchTest {

    @Test
    public void testIt() throws Exception {
        // todo: testIt()!
    }
}

【讨论】:

  • 我删除了 .idea 文件并重新导入项目,然后问题就解决了。那是我对intellij的第一次尝试,我猜我弄乱了一些东西。我不记得发生此问题时是否选中了“自动导入 Maven 项目”,但现在是。无论如何,谢谢。
  • 对我来说,即使没有重新导入项目,这个解决方案也能正常工作(只是取消选中并自动检查导入.. 选择)。
【解决方案2】:

我遇到了同样的问题。 打开你的 pom.xml,找到“junit”。查看范围值,也许是“测试”。 如果你在主包中导入 junit,intellij idea 会抛出错误,但不会抛出 eclipse。 在合适的范围内使用junit可以解决问题。 我修正了我的错误。

【讨论】:

  • 不是这样的,测试在标准目录下,项目是经典的maven项目。
  • 我不确定我的范围是否经过测试,但如果它是标准范围,则应该在测试中看到它。我删除了 .idea 并重新导入项目而不更改任何其他内容,问题就解决了。还是谢谢。
【解决方案3】:

# 1 检查设置 -> 构建、执行、部署 -> 构建工具 -> maven,如果“用户设置文件”和(如果您使用本地存储库)“本地存储库”路径设置正确。

# 2 检查设置 -> 构建、执行、部署 -> 编译器 -> java 编译器,如果目标字节码版本是您所期望的。 (有时在添加新依赖后 Intelli 会将其设置为 1.5)

# 3在项目设置中(默认快捷键ctrl+alt+shift+s)项目设置->项目

  • ProjectSDK 应该指向正确的目的地

  • 项目语言级别应该是您正在使用的版本

项目设置 -> 模块中语言级别应该是您正在使用的版本

【讨论】:

  • 感谢您的回答,稍后会有用,但正如我在之前的评论中所说,我重建了项目并解决了问题。
猜你喜欢
  • 2020-12-29
  • 1970-01-01
  • 2017-05-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-06
  • 2017-11-19
  • 2017-03-29
相关资源
最近更新 更多