Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 即使找到maven依赖项,Intellij也无法解析符号RunWith_Java_Maven_Intellij Idea_Junit - Fatal编程技术网

Java 即使找到maven依赖项,Intellij也无法解析符号RunWith

Java 即使找到maven依赖项,Intellij也无法解析符号RunWith,java,maven,intellij-idea,junit,Java,Maven,Intellij Idea,Junit,我的IntelliJ思想看到了JUnit4与Maven的依赖关系 但不解析来自这些依赖项的任何符号 有什么想法吗?我遵循这些步骤,能够用Intellij code insight编写一个测试用例 在一个shell中,我做了以下操作 mkdir so33987661 mkdir so33987661/src/ mkdir so33987661/src/test mkdir so33987661/src/test/java cd so33987661 vi pom.xml Mypom.xml

我的IntelliJ思想看到了JUnit4与Maven的依赖关系

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


有什么想法吗?

我遵循这些步骤,能够用Intellij code insight编写一个
测试用例

在一个shell中,我做了以下操作

mkdir so33987661
mkdir so33987661/src/
mkdir so33987661/src/test
mkdir so33987661/src/test/java
cd so33987661
vi pom.xml
My
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>

我遇到了同样的问题。 打开pom.xml,找到“junit”。请参阅范围值,可能是“测试”。 若在主包中导入junit,intellij idea将抛出错误,但不会抛出eclipse。 在正确的范围内使用junit可以解决这个问题。 我修正了我的错误。

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

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

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

  • ProjectSDK应指向正确的目标

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


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

您是否尝试将项目清理/重建为健全检查问题:)?我没有找到任何清理操作,但是我使用build>Rebuild项目,它说包org.junit.runner不存在,还有4个类似的错误。这是一个与你类似的问题是的,我也做了这两件事:重新导入并使用相同的maven安装。但是没有任何效果。
junit
test
范围和
BookSearchTest
源目录下的测试类(
src/main/java
)?感谢您的回答,这在以后会很有用,但正如我在之前的评论中所说,我重新构建了项目,问题解决了。事实并非如此,测试在标准目录中,该项目是一个经典的maven项目。我不确定我的范围是测试,但如果它是标准范围,应该在测试中看到。我删除了.idea并重新导入了项目,而没有更改任何其他内容,问题就解决了。无论如何,谢谢。我删除了.idea文件并重新导入了该项目,然后问题就解决了。那是我第一次尝试intellij我猜我弄糟了什么。我不记得这个问题发生时是否选中了“Import Maven Projects Automatically”(自动导入Maven Projects),但现在已经选中了。无论如何,谢谢你。对我来说,这个解决方案即使没有重新导入项目(只需取消选中并重新选中Import Automatically.。选择)。
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()!
    }
}