jitwatch-intellij
jitwatch-intellij copied to clipboard
fix issue #7 NoClassDefFoundError: com/intellij/util/PathKt
Hi,
I've fixed issue #7 by using another static import based on JRE helper method isRegularFile(). This solves the issue and fully preserves all semantics. The only downside is that I still can't explain why :-/
Any feedback is welcome.
Regards Martin
Works for me. @yole please merge!
@yole please merge!
@yole merge this.
That's not how open source works. This is not a product, and you are not entitled to any level of support or acknowledgement. Instead, you are actively contributing the to burnout of open source project maintainers with your comments.
I'm not going to transfer ownership of this project. If anyone is seriously interested in helping me maintain the plugin ("seriously" means at least submitting a pull request that doesn't contain "can't explain why" in its description), I can add you as a contributor to the GitHub project and to the plugin on plugins.jetbrains.com.
@yole thank you for clarifying your point of view, I appreciate. May I ask for some feedback from you? E.g. how can I improve, so that you consider this to merge?
@yole does it still alive? It even hard to compile from scratch. in a 2017.1.4 I see the exception (in 2016.1.4 works well)
com/intellij/util/PathKt
java.lang.NoClassDefFoundError: com/intellij/util/PathKt
at ru.yole.jitwatch.JitWatchModelService.findJavapPath(JitWatchModelService.kt:185)
at ru.yole.jitwatch.JitWatchModelService.loadBytecode(JitWatchModelService.kt:166)
at ru.yole.jitwatch.JitWatchModelService$loadBytecodeAsync$1.run(JitWatchModelService.kt:154)
at com.intellij.openapi.application.impl.ApplicationImpl$2.run(ApplicationImpl.java:334)
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)
java.lang.NoClassDefFoundError: com/intellij/util/PathKt
at ru.yole.jitwatch.JitWatchModelService.findJavapPath(JitWatchModelService.kt:185)
at ru.yole.jitwatch.JitWatchModelService.loadBytecode(JitWatchModelService.kt:166)
at ru.yole.jitwatch.JitSourceAnnotator.doAnnotate(JitSourceAnnotator.kt:34)
at ru.yole.jitwatch.JitSourceAnnotator.doAnnotate(JitSourceAnnotator.kt:25)
at com.intellij.codeInsight.daemon.impl.ExternalToolPass.d(ExternalToolPass.java:224)
at com.intellij.codeInsight.daemon.impl.ExternalToolPass.access$500(ExternalToolPass.java:48)
at com.intellij.codeInsight.daemon.impl.ExternalToolPass$1.run(ExternalToolPass.java:172)
at com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:337)
at com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:327)
at com.intellij.util.ui.update.MergingUpdateQueue.lambda$flush$1(MergingUpdateQueue.java:277)
at com.intellij.util.ui.update.MergingUpdateQueue.flush(MergingUpdateQueue.java:291)
at com.intellij.util.ui.update.MergingUpdateQueue.run(MergingUpdateQueue.java:246)
at com.intellij.util.concurrency.QueueProcessor.runSafely(QueueProcessor.java:223)
at com.intellij.util.Alarm$Request.runSafely(Alarm.java:418)
at com.intellij.util.Alarm$Request.access$700(Alarm.java:343)
at com.intellij.util.Alarm$Request$1.run(Alarm.java:385)
at com.intellij.util.Alarm$Request.run(Alarm.java:396)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at com.intellij.util.concurrency.SchedulingWrapper$MyScheduledFutureTask.run(SchedulingWrapper.java:237)
at com.intellij.util.concurrency.BoundedTaskExecutor$2.run(BoundedTaskExecutor.java:212)
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)
@yole In 2017.3 EAP, I see the exception com/intellij/util/PathKt java.lang.NoClassDefFoundError: com/intellij/util/PathKt at ru.yole.jitwatch.JitWatchModelService.findJavapPath(JitWatchModelService.kt:185) at ru.yole.jitwatch.JitWatchModelService.loadBytecode(JitWatchModelService.kt:166) at ru.yole.jitwatch.JitWatchModelService$loadBytecodeAsync$1.run(JitWatchModelService.kt:154) at com.intellij.openapi.application.impl.ApplicationImpl$1.run(ApplicationImpl.java:320) 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)
com/intellij/util/PathKt java.lang.NoClassDefFoundError: com/intellij/util/PathKt at ru.yole.jitwatch.JitWatchModelService.findJavapPath(JitWatchModelService.kt:185) at ru.yole.jitwatch.JitWatchModelService.loadBytecode(JitWatchModelService.kt:166) at ru.yole.jitwatch.JitSourceAnnotator.doAnnotate(JitSourceAnnotator.kt:34) at ru.yole.jitwatch.JitSourceAnnotator.doAnnotate(JitSourceAnnotator.kt:25) at com.intellij.codeInsight.daemon.impl.ExternalToolPass.b(ExternalToolPass.java:212) at com.intellij.codeInsight.daemon.impl.ExternalToolPass.access$500(ExternalToolPass.java:47) at com.intellij.codeInsight.daemon.impl.ExternalToolPass$1.run(ExternalToolPass.java:159) at com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:337) at com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:327) at com.intellij.util.ui.update.MergingUpdateQueue.lambda$flush$1(MergingUpdateQueue.java:277) at com.intellij.util.ui.update.MergingUpdateQueue.flush(MergingUpdateQueue.java:291) at com.intellij.util.ui.update.MergingUpdateQueue.run(MergingUpdateQueue.java:246) at com.intellij.util.concurrency.QueueProcessor.runSafely(QueueProcessor.java:246) at com.intellij.util.Alarm$Request.runSafely(Alarm.java:417) at com.intellij.util.Alarm$Request.access$700(Alarm.java:344) at com.intellij.util.Alarm$Request$1.run(Alarm.java:384) at com.intellij.util.Alarm$Request.run(Alarm.java:395) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at com.intellij.util.concurrency.SchedulingWrapper$MyScheduledFutureTask.run(SchedulingWrapper.java:242) at com.intellij.util.concurrency.BoundedTaskExecutor$2.run(BoundedTaskExecutor.java:212) 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)
@yole I see more related issues/comments are filled for this topic. May I ask for some guidance, what can I do to support you on fixing this or accepting this PR?
@nitram509 Check out my PR here: #9 , I've made some changes to the plugin to get it to work with IntelliJ 2018.1 through 2019.1