Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Local tests don't run (java.lang.NoClassDefFoundError) #130

Open
LofhJann opened this issue Nov 23, 2017 · 6 comments
Open

Local tests don't run (java.lang.NoClassDefFoundError) #130

LofhJann opened this issue Nov 23, 2017 · 6 comments

Comments

@LofhJann
Copy link
Contributor

Running local tests on Maven managed exercise throws following exception (In form of IDE Error) without running tests.
Course in question is https://tmc.mooc.fi/org/hy/courses/266 but I remember seeing similar problems with other courses aswell.
Running 'mvn test' from Project directory causes no errors so the problem seems to be in plugin. Idea.log also didn't seem to provide anything interesting in matter apart from IDE error itself, attached it anyways below (renamed ideacrash.log)

org/apache/maven/shared/invoker/MavenInvocationException
java.lang.NoClassDefFoundError: org/apache/maven/shared/invoker/MavenInvocationException
at fi.helsinki.cs.tmc.langs.java.maven.MavenExecutors.tryAndExec(MavenExecutors.java:16)
at fi.helsinki.cs.tmc.langs.java.maven.MavenPlugin.build(MavenPlugin.java:77)
at fi.helsinki.cs.tmc.langs.java.AbstractJavaPlugin.runTests(AbstractJavaPlugin.java:126)
at fi.helsinki.cs.tmc.langs.util.TaskExecutorImpl.runTests(TaskExecutorImpl.java:37)
at fi.helsinki.cs.tmc.core.commands.RunTests.call(RunTests.java:40)
at fi.helsinki.cs.tmc.core.commands.RunTests.call(RunTests.java:19)
at fi.helsinki.cs.tmc.core.utilities.ExceptionTrackingCallable.call(ExceptionTrackingCallable.java:34)
at fi.helsinki.cs.tmc.intellij.services.TestRunningService.lambda$prepareThreadForRunningTests$0(TestRunningService.java:68)
at com.intellij.openapi.progress.impl.CoreProgressManager.a(CoreProgressManager.java:170)
at com.intellij.openapi.progress.impl.CoreProgressManager.a(CoreProgressManager.java:548)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:493)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:94)
at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:157)
at fi.helsinki.cs.tmc.intellij.services.ThreadingService.lambda$runWithNotification$0(ThreadingService.java:20)
at com.intellij.openapi.application.impl.ApplicationImpl$1.run(ApplicationImpl.java:330)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.ClassNotFoundException: org.apache.maven.shared.invoker.MavenInvocationException PluginClassLoader[fi.helsinki.cs.tmc, 1.0.8] com.intellij.ide.plugins.cl.PluginClassLoader@21235406
at com.intellij.ide.plugins.cl.PluginClassLoader.loadClass(PluginClassLoader.java:65)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 20 more

ideacrash.log

@ullebe1
Copy link

ullebe1 commented Sep 11, 2018

I can confirm this problem in the IAI18 course.

java.lang.NoClassDefFoundError: org/apache/maven/shared/invoker/MavenInvocationException at fi.helsinki.cs.tmc.langs.java.maven.MavenExecutors.tryAndExec(MavenExecutors.java:16) at fi.helsinki.cs.tmc.langs.java.maven.MavenPlugin.build(MavenPlugin.java:78) at fi.helsinki.cs.tmc.langs.java.AbstractJavaPlugin.runTests(AbstractJavaPlugin.java:136) at fi.helsinki.cs.tmc.langs.util.TaskExecutorImpl.runTests(TaskExecutorImpl.java:39) at fi.helsinki.cs.tmc.core.commands.RunTests.call(RunTests.java:40) at fi.helsinki.cs.tmc.core.commands.RunTests.call(RunTests.java:19) at fi.helsinki.cs.tmc.core.utilities.ExceptionTrackingCallable.call(ExceptionTrackingCallable.java:39) at fi.helsinki.cs.tmc.intellij.services.TestRunningService.lambda$prepareThreadForRunningTests$0(TestRunningService.java:68) at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$1(CoreProgressManager.java:157) at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:580) at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:525) at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:85) at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:144) at fi.helsinki.cs.tmc.intellij.services.ThreadingService.lambda$runWithNotification$0(ThreadingService.java:20) at com.intellij.openapi.application.impl.ApplicationImpl$1.run(ApplicationImpl.java:314) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.ClassNotFoundException: org.apache.maven.shared.invoker.MavenInvocationException PluginClassLoader[fi.helsinki.cs.tmc, 2.0.2] com.intellij.ide.plugins.cl.PluginClassLoader@e4382c at com.intellij.ide.plugins.cl.PluginClassLoader.loadClass(PluginClassLoader.java:63) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 20 more

System information:
OS: Arch Linux
Architecture: x86_64
Kernel: 4.18.6
Locale: en_DK.UTF-8
IntelliJ version: IntelliJ Ultimate 2018.2.3
Java environment: The one bundled with IntelliJ Ultimate 2018.2.3
TMC plugin version: 2.0.2

@Rokirok
Copy link

Rokirok commented Dec 15, 2018

This is also a problem with Ohjelmoinnin MOOC 2019
Tried with multiple projects (01 and 02) both failed to test.

Stacktrace:
java.lang.NoClassDefFoundError: org/apache/maven/shared/invoker/DefaultInvocationRequest at fi.helsinki.cs.tmc.langs.java.maven.MavenInvokatorMavenTaskRunner.exec(MavenInvokatorMavenTaskRunner.java:43) at fi.helsinki.cs.tmc.langs.java.maven.MavenExecutors.tryAndExec(MavenExecutors.java:16) at fi.helsinki.cs.tmc.langs.java.maven.MavenPlugin.build(MavenPlugin.java:78) at fi.helsinki.cs.tmc.langs.java.AbstractJavaPlugin.runTests(AbstractJavaPlugin.java:136) at fi.helsinki.cs.tmc.langs.util.TaskExecutorImpl.runTests(TaskExecutorImpl.java:39) at fi.helsinki.cs.tmc.core.commands.RunTests.call(RunTests.java:40) at fi.helsinki.cs.tmc.core.commands.RunTests.call(RunTests.java:19) at fi.helsinki.cs.tmc.core.utilities.ExceptionTrackingCallable.call(ExceptionTrackingCallable.java:39) at fi.helsinki.cs.tmc.intellij.services.TestRunningService.lambda$prepareThreadForRunningTests$0(TestRunningService.java:68) at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:164) at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:582) at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:532) at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:87) at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:151) at fi.helsinki.cs.tmc.intellij.services.ThreadingService.lambda$runWithNotification$0(ThreadingService.java:20) at com.intellij.openapi.application.impl.ApplicationImpl$1.run(ApplicationImpl.java:314) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745)

System info:
OS: MacOS Mojave 10.14
IntelliJ: IntelliJ Ultimate 2018.3.2
TMC Plugin: TMC Plugin 2.0.2
Java:
java version "11.0.1" 2018-10-16 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.1+13-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.1+13-LTS, mixed mode)

EDIT: mvn test works flawlessly, this bug has something to do with the plugin as the author mentioned.

@NikoGrano
Copy link

This seems to be problem in all Part 1.
Can be reproduced with all platforms. Affects Java 8 =>

@sreimavuo
Copy link

Same problem with course "Web-palvelinohjelmointi Java 2019" (https://web-palvelinohjelmointi-19.mooc.fi/) when pressing the "Run tests for current project" button on top bar. IntelliJ IDEA used is version 2019.1 and TMC-plugin is latest available from IDEA plugin repository (v2.0.2).

java.lang.NoClassDefFoundError: org/apache/maven/shared/invoker/DefaultInvocationRequest
at fi.helsinki.cs.tmc.langs.java.maven.MavenInvokatorMavenTaskRunner.exec(MavenInvokatorMavenTaskRunner.java:43)
at fi.helsinki.cs.tmc.langs.java.maven.MavenExecutors.tryAndExec(MavenExecutors.java:16)
at fi.helsinki.cs.tmc.langs.java.maven.MavenPlugin.build(MavenPlugin.java:78)
at fi.helsinki.cs.tmc.langs.java.AbstractJavaPlugin.runTests(AbstractJavaPlugin.java:136)
at fi.helsinki.cs.tmc.langs.util.TaskExecutorImpl.runTests(TaskExecutorImpl.java:39)
at fi.helsinki.cs.tmc.core.commands.RunTests.call(RunTests.java:40)
at fi.helsinki.cs.tmc.core.commands.RunTests.call(RunTests.java:19)
at fi.helsinki.cs.tmc.core.utilities.ExceptionTrackingCallable.call(ExceptionTrackingCallable.java:39)
at fi.helsinki.cs.tmc.intellij.services.TestRunningService.lambda$prepareThreadForRunningTests$0(TestRunningService.java:68)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:164)
at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:586)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:532)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:86)
at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:151)
at fi.helsinki.cs.tmc.intellij.services.ThreadingService.lambda$runWithNotification$0(ThreadingService.java:20)
at com.intellij.openapi.application.impl.ApplicationImpl$1.run(ApplicationImpl.java:311)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)

@NikoGrano
Copy link

Currently it seems the maintainer of repo have no means to fix this as it's been open issue since 2017

@kuituhirvi
Copy link

The work around for this is to open the test directory manually and run the tests, either individually or all at once. This is why the easiest fix could be to remove the "Run tests.." part from the plugin.

IntelliJ IDEA seems to have gone under a complete UI rewrite in 2017. The plugin is still being built against 2017.1.1. that is available for download here. This is why it seems to fix this the best way would be to do a complete rewrite of the plugin.

One change just for an example:
https://github.com/JetBrains/intellij-community/blob/master/platform/platform-impl/src/com/intellij/ui/JBProgressBar.java
https://github.com/testmycode/tmc-intellij/blob/master/tmc-plugin-intellij/src/main/java/fi/helsinki/cs/tmc/intellij/ui/testresults/TestResultProgressBar.java

There is a good change of me being mistaken and if you manage to just make it work please do submit a pull request. If you do please submit a link to it to this thread. New plugin can then be built a using your patches. You can also just built the plugin, but it can be bit of a pain to do so.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants