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'