无法在 Eclipse 中为 jhipster 示例应用程序 gradle 运行 junits

Posted

技术标签:

【中文标题】无法在 Eclipse 中为 jhipster 示例应用程序 gradle 运行 junits【英文标题】:Unable to run junits in eclipse for jhipster sample app gradle 【发布时间】:2020-08-19 04:38:28 【问题描述】:

我检查了https://github.com/jhipster/jhipster-sample-app-gradle将项目导入eclipse版本:2020-03(4.15.0),安装了gradle插件。当我尝试运行 Junit 测试时,右键单击 -> 以 Junit 身份运行,我不断得到

java.lang.BootstrapMethodError: java.lang.NoClassDefFoundError: org/junit/platform/engine/EngineDiscoveryListener
    at org.junit.platform.launcher.core.LauncherDiscoveryRequestBuilder.getLauncherDiscoveryListener(LauncherDiscoveryRequestBuilder.java:241)
    at org.junit.platform.launcher.core.LauncherDiscoveryRequestBuilder.build(LauncherDiscoveryRequestBuilder.java:235)
    at org.eclipse.jdt.internal.junit5.runner.JUnit5TestLoader.createUnfilteredTest(JUnit5TestLoader.java:75)
    at org.eclipse.jdt.internal.junit5.runner.JUnit5TestLoader.createTest(JUnit5TestLoader.java:66)
    at org.eclipse.jdt.internal.junit5.runner.JUnit5TestLoader.loadTests(JUnit5TestLoader.java:53)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:526)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:770)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:464)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:210)
Caused by: java.lang.NoClassDefFoundError: org/junit/platform/engine/EngineDiscoveryListener
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at java.security.SecureClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.access$100(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    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)
    ... 9 more
Caused by: java.lang.ClassNotFoundException: org.junit.platform.engine.EngineDiscoveryListener
    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)
    ... 21 more

我尝试了所有搜索但找不到有效的解决方案,任何人有同样的问题并得到解决,请提供解决方案

【问题讨论】:

是否可以告诉 eclipse 使用 gradle test runner 而不是内部 jdt runner? 当我右键单击时,运行为 -> Gradle Test 它会运行整个构建,这是不必要的 你是说前端部分?还有一些其他的事情正在发生,比如注释处理。如果没有错误,gradle 应该非常聪明,并检测要执行的内容和不执行的内容。例如。 gradle 已经执行了前端构建。您更改了java代码并希望执行相应的测试,前端部分不应该执行,因为它是up2date。 显然这没有发生,我认为在类似的 Maven 项目中以 Junit 身份运行测试没有任何问题。它看起来与 Gradle 和 Junit 5 的 Eclipse 集成被破坏了 您是否进行了“运行方式> JUnit 测试”?你可以试试“运行方式 > Gradle 测试” 【参考方案1】:

爱好者,

只需添加

testImplementation('org.junit.platform:junit-platform-launcher:1.5.2')

build.gradle 文件中的依赖项部分,刷新 gradle(在 eclipse 上,在项目的上下文菜单中 > Gradle > Refresh Gradle Project)。您应该能够一个一个地运行测试。

快乐编码

【讨论】:

以上是关于无法在 Eclipse 中为 jhipster 示例应用程序 gradle 运行 junits的主要内容,如果未能解决你的问题,请参考以下文章

无法在 Eclipse 和 CLI 中为 Android 构建 Cordova 项目

为啥新创建的 Jhipster 项目的 body height=0?

Eclipse 中为包含的 JSP 指示“无法解析 someVariable”错误

在 Eclipse 中为 C++ 设置 GTKmm

JHipster - 在 AWS Beanstalk 中发布部署 Jhipster 注册表

JHipster - 无法在 angular.json 中添加 jquery 路径