Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.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 为什么我需要在intellij中添加类路径?_Java_Intellij Idea_Junit - Fatal编程技术网

Java 为什么我需要在intellij中添加类路径?

Java 为什么我需要在intellij中添加类路径?,java,intellij-idea,junit,Java,Intellij Idea,Junit,我试图将此类添加到我的代码中: import org.junit.runner.JUnitCore; import org.junit.runner.Request; import org.junit.runner.Result; public class SingleJUnitTestRunner { public static void main(String... args) throws ClassNotFoundException { String[] cla

我试图将此类添加到我的代码中:

import org.junit.runner.JUnitCore;
import org.junit.runner.Request;
import org.junit.runner.Result;

public class SingleJUnitTestRunner {
    public static void main(String... args) throws ClassNotFoundException {
        String[] classAndMethod = args[0].split("#");
        Request request = Request.method(Class.forName(classAndMethod[0]),
                classAndMethod[1]);

        Result result = new JUnitCore().run(request);
        System.exit(result.wasSuccessful() ? 0 : 1);
    }
}
然后我得到了这个错误:

尽管我的Gradle包括JUnit4.12

我如何解决这个问题?
“添加到类路径”是什么意思?我过去常常在Eclipse中看到它。不在IntelliJ中。

请尝试使用:

dependencies {
    compile group: 'junit', name: 'junit', version: '4.12'
而不是:

dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.12'

如果IntelliJ中的项目设置为Gradle项目,则类路径应与Gradle文件同步。您可以在文件->项目结构->模块->依赖项->加号按钮()中配置IntelliJ依赖项


类路径由编译器使用。它需要知道在哪里可以找到JUnitCore,这样它才能编译。

我会试试/但是类的路径是什么?看有四件事:(1)src/main/java(2)src/main/resources(3)src/test/java(4)src/test/resources:::所以,我的理解是:您在src/main/java中添加了一个类,并且在gradle中定义了testCompile。因此,gradle将在src/test/java中添加junit依赖项,而不是在src/main/java中,而如果您使用“compile”而不是“testCompile”,它将在src/main/java中使用依赖项,因此它不会要求您添加类路径,因为junit jar在使用“compile”时已经存在了。您明白这个概念了吗?
dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.12'