Java 无法在eclipse中使用gradle运行JUnit测试

Java 无法在eclipse中使用gradle运行JUnit测试,java,eclipse,gradle,junit,jasper-reports,Java,Eclipse,Gradle,Junit,Jasper Reports,我在eclipse中有一个gradle项目(版本:Neon.3发行版(4.6.3)) 构建id:20170314-1500)。当我用gradle执行简单的JUnit测试时,一切都很好。但是如果我在eclipse中执行/调试测试(通过上下文) 菜单),测试崩溃 异常:java.lang.NoClassDefFoundError。我认为jasperreports依赖性导致崩溃的原因是类路径错误(?)。或者gradle和eclipse的组合不能正常工作 任何帮助都将不胜感激:) 我已将该项目缩减到最低

我在eclipse中有一个gradle项目(版本:Neon.3发行版(4.6.3)) 构建id:20170314-1500)。当我用gradle执行简单的JUnit测试时,一切都很好。但是如果我在eclipse中执行/调试测试(通过上下文) 菜单),测试崩溃

异常:java.lang.NoClassDefFoundError。我认为jasperreports依赖性导致崩溃的原因是类路径错误(?)。或者gradle和eclipse的组合不能正常工作

任何帮助都将不胜感激:)

我已将该项目缩减到最低限度

build.gradle:

apply plugin: 'java'

repositories {
    jcenter()
}

dependencies {
    compile 'org.olap4j:olap4j:1.2.0'

    compile 'com.lowagie:itext:4.2.0'

    compile 'net.sf.jasperreports:jasperreports:6.4.0'

    testImplementation 'junit:junit:4.12'
}
gradle-wrapper.properties:

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-bin.zip
ReportTest.java:

import org.junit.Test;

import net.sf.jasperreports.engine.DefaultJasperReportsContext;
import net.sf.jasperreports.engine.JasperReportsContext;
import net.sf.jasperreports.engine.export.JRPdfExporter;

public class ReportTest {

    @Test
    public void test() throws Exception {
        JasperReportsContext jasperReportsContext = DefaultJasperReportsContext.getInstance();
        JRPdfExporter exporter = new JRPdfExporter(jasperReportsContext);
    }
}
eclipse中的Stacktrace:

java.lang.NoClassDefFoundError: com/lowagie/text/DocumentException
    at ReportTest.test(ReportTest.java:12)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
    at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
    at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
    at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
    at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
    at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86)
    at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:678)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
Caused by: java.lang.ClassNotFoundException: com.lowagie.text.DocumentException
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 24 more

您正在Eclipse中使用buildship,并已将该项目作为Gradle项目导入?是的,我认为是这样。在eclipse中,我在Properties->Builders->Gradle项目生成器中使用“。是的,这是一个gradle项目。也许我可以将整个项目作为ZIP文件添加到这里?如果需要,我可以在这里添加.project和.classspath文件。您正在Eclipse中使用buildship,并且已经将该项目作为Gradle项目导入了吗?是的,我想是的。在eclipse中,我在Properties->Builders->Gradle Project Builder.中使用。是的,这是一个Gradle项目。也许我可以在这里将整个项目添加为ZIP文件?如果需要,我可以在这里添加.Project和.classspath文件。