Open LofhJann opened 7 years ago
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
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.
This seems to be problem in all Part 1. Can be reproduced with all platforms. Affects Java 8 =>
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)
Currently it seems the maintainer of repo have no means to fix this as it's been open issue since 2017
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.
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