It’s because Webstorm uses JDK 11 now which has removed the JAXB WS jar files.
IntelliJ IDEA/Webstorm/etc. 2019.2 Java 11 Support
Automatically upgraded to Webstorm 2019.2 and got the following errors in log:
2019-07-23 15:50:50,529 [ 177834] ERROR - intellij.openapi.progress.Task - WebStorm 2019.2 Build #WS-192.5728.87
2019-07-23 15:50:50,529 [ 177834] ERROR - intellij.openapi.progress.Task - JDK: 11.0.3; VM: OpenJDK 64-Bit Server VM; Vendor: JetBrains s.r.o
2019-07-23 15:50:50,529 [ 177834] ERROR - intellij.openapi.progress.Task - OS: Linux
2019-07-23 15:50:50,529 [ 177834] ERROR - intellij.openapi.progress.Task - Plugin to blame: Illuminated Cloud 2 version: 2.0.7.0
2019-07-23 15:50:52,847 [ 180152] ERROR - intellij.openapi.progress.Task - javax/xml/ws/Service
java.lang.NoClassDefFoundError: javax/xml/ws/Service
at com.illuminatedcloud.intellij.settings.application.IlluminatedCloudConnectionConfig.getClient(SourceFile:1090)
at com.illuminatedcloud.intellij.builder.ForceComBuilder.getClient(SourceFile:977)
at com.illuminatedcloud.intellij.builder.ForceComBuilder.runWithClient(SourceFile:789)
at com.illuminatedcloud.intellij.builder.ForceComBuilder.getDescribeMetadataResult(SourceFile:1014)
at com.illuminatedcloud.intellij.builder.ForceComBuilder.getMetadataDescribesByDirectoryName(SourceFile:1037)
at com.illuminatedcloud.intellij.builder.ForceComBuilder.getMetadataDescribeIndex(SourceFile:1068)
at com.illuminatedcloud.intellij.builder.BuildOptionsDialog$2.run(SourceFile:830)
at com.intellij.openapi.progress.impl.CoreProgressManager$TaskRunnable.run(CoreProgressManager.java:894)
at com.intellij.openapi.progress.impl.CoreProgressManager$5.run(CoreProgressManager.java:447)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:169)
at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:591)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:537)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:59)
at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:156)
at com.intellij.openapi.application.impl.ApplicationImpl.lambda$null$9(ApplicationImpl.java:552)
at com.intellij.openapi.application.impl.ApplicationImpl$1.run(ApplicationImpl.java:294)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.lang.ClassNotFoundException: javax.xml.ws.Service PluginClassLoader[com.illuminatedcloud2.intellij, 2.0.7.0] com.intellij.ide.plugins.cl.PluginClassLoader@5cdb4ef5
at com.intellij.ide.plugins.cl.PluginClassLoader.loadClass(PluginClassLoader.java:75)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
... 21 more
I’m reverting to the JDK 8 using JDK Bin Downloader plugin but would be better if we had support for JDK 11.
thanks
Official response
Comments (35)
-
reporter -
reporter - edited description
- changed title to Webstorm 2019.2 Support (JDK 11)
-
A colleague of mine just ran into this issue as well. Interestingly enough, so far everyone else that updated hasn’t had this problem yet. Could really use a fix for this as soon as possible, or exact steps for a workaround.
-
I am not sure if the root cause is the same, I am getting following error when saving file … Error while loading class com.sforce.soap.partner.PartnerService: javax/xml/ws/Service [Plugin: com.illumicatedcloud2.intellij]
Also Iluminated cloud is failing with the exact same error when generating offline sybmol table.
This started happening after updating to Webstrom 2019.2
Need a fix for this urgently.
Thanks.
-
repo owner Take a look at
#1359. As Justin points out, this is because Java 11 no longer bundles JAX-WS. I do have a local test build that bundles these with IC, but that will require more testing before release. The solution in the interim is to switch to a Java 8 JRE to host the IDE. -
reporter Hi @scott wells
Unfortunately there’s a deprecated IntelliJ API? So the only way to resolve this is to roll back to Webstorm 2019.1
e.g.
java.lang.NoSuchMethodError: com.intellij.psi.impl.source.tree.injected.ConcatenationInjectorManager$BaseConcatenation2InjectorAdapter.<init>(Lcom/intellij/psi/impl/source/tree/injected/ConcatenationInjectorManager;)V at com.illuminatedcloud.intellij.inject.ApexConcatenationToInjectorAdapter.<init>(SourceFile:25) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
-
repo owner Justin, evidently they fixed an issue that I logged against them. Ah, the fun of chasing a moving target...I'll issue an update tomorrow that takes care of this. Thanks for bringing it to my attention.
-
repo owner I've just posted 2.0.7.1 which addresses this in part. It resolves the issue that Justin saw, though I do still see some new stack traces in
idea.log
that look like:2019-07-24 10:11:00,923 [ 35379] ERROR - tellij.psi.PsiReferenceService - IdeaLoggingEvent[message=Reference element is not the same element for which references were queried, throwable=java.lang.RuntimeException: Element: com.intellij.psi.impl.source.xml.XmlTokenImpl; reference: com.illuminatedcloud.intellij.psi.reference.ApexDeclarationReference; reference element: com.intellij.psi.impl.source.xml.XmlTextImpl
I'll investigate that further for a near-term update, but whatever it is, it's not a new issue; the base IDE is just reporting it now where it wasn't previously.
The IDE also provides better messaging when using a Java 11 JRE, specifically instructing the user to use the JB SDK Bintray Downloader to install a Java 8 JRE.
I'll try to get the change that allows use of a Java 11 JRE out soon as well. That change requires extensive testing, though, and I don't want to rush it.
-
repo owner I see that there are some watchers on this issue. If anything is interested in helping to test the update that allows a Java 11 JRE, I'm happy to post a build here. It will be the same as the current official build but with support for Java 11. I would like to see testers try the build on both a Java 8 JRE and Java 11 JRE to help suss out any issues on both host JREs.
Let me know if you're interested and I'll post a build and instructions on how to install it and help verify it. Thanks in advance for any assistance you might provide!
-
repo owner - attached IlluminatedCloud2.zip
Here's a test build based on 2.0.7.1 that supports both Java 8 and Java 11 by bundling JAX-WS. I've been testing it successfully under both Java versions, but I'd certainly appreciate a little assistance from users who don't mind moving onto a pre-release build.
To install this build, download
IlluminatedCloud2.zip
--do not extract it--and use Settings/Preferences>Plugins>Install plugin from disk (under the gear drop-down). Restart the IDE and you'll be using this build.If you have moved back to a Java 8 JRE, you can feel free to move back onto a Java 11 JRE using these instructions:
However, I would very much appreciate it if you'd try using it with a mixture of both Java 8 and Java 11.
Please let me know if you are in fact on this build so I know that there's some additional burn-in occurring.
If you find any issues with the build--specifically issues with IC communicating with the Salesforce organization--please provide the details here for my review.
And you can always move back to the official build by uninstalling the plugin and reinstalling it from the JetBrains plugin repository.
Thanks much in advance!
-
repo owner - changed title to IntelliJ IDEA/Webstorm/etc. 2019.2 Java 11 Support
-
repo owner - changed component to Installation
- removed version
-
repo owner - attached IlluminatedCloud2.zip
NEW BUILD POSTED
Here's a test build based on 2.0.7.2 that supports both Java 8 and Java 11 by bundling JAX-WS. I've been testing it successfully under both Java versions, but I'd certainly appreciate a little assistance from users who don't mind moving onto a pre-release build.
To install this build, download
IlluminatedCloud2.zip
--do not extract it--and use Settings/Preferences>Plugins>Install plugin from disk (under the gear drop-down). Restart the IDE and you'll be using this build.If you have moved back to a Java 8 JRE, you can feel free to move back onto a Java 11 JRE using these instructions:
However, I would very much appreciate it if you'd try using it with a mixture of both Java 8 and Java 11.
Please let me know if you are in fact on this build so I know that there's some additional burn-in occurring.
If you find any issues with the build--specifically issues with IC communicating with the Salesforce organization--please provide the details here for my review.
And you can always move back to the official build by uninstalling the plugin and reinstalling it from the JetBrains plugin repository.
Thanks much in advance!
-
repo owner I've just posted a new official build, 2.0.7.2, which addresses a few other issues that I found while testing on 2019.2 today. The official build still doesn't support Java 11, but the most recent pre-release build posted here (see the official response) is 2.0.7.2 with Java 11 support.
-
Hi @Scott Wells ,
With IC2 2.0.7.2 as installed normally in 2019.2 on Windows 8, the “Test” button on the Connections page didn’t work at all (no test run, hence unable to save the Connection).
With the prerelease you posted above, IlluminatedCloud2.zip/ NEW BUILD POSTED), installed via ZIP, it works fine. Just wanted to let you know.
KR René
-
repo owner Thanks for the feedback, @René Görgens. I'm also finding that build to resolve the issue on Java 11 without any negative side-effects so far. I'm hoping to promote it to the official build soon. I'd certainly appreciate additional feedback from anyone else trying it before doing so if possible.
-
I installed the pre-release and am testing against Java 11 – so far so good, but will post problems (or lack of) here
-
repo owner Thanks, Jeff. I'm also using it as my daily driver, but against Java 8. If all goes well I'll plan to promote the build with bundled JAX-WS to official tomorrow morning and put this whole Java 11 compatibility thing to rest.
-
I have been using the pre-release with Java 11 all day, trying to make sure I did one of everything I usually do. No problems found so far.
-
repo owner Thanks, Jeff. Same here. I'm putting together the official update which also includes fixes for a few other things I've found while testing and plan to post it in a few hours.
-
repo owner - attached IlluminatedCloud2.zip
RELEASE CANDIDATE BUILD POSTED 2019-07-27
This is the build I plan to release tomorrow morning, 2.0.7.3, that supports both Java 8 and Java 11 by bundling JAX-WS. It also addresses several other minor issues I found while testing under 2019.2 including some logging noise. I've been using it as a daily driver for the past few days, as have several other users here.
To install this build, download
IlluminatedCloud2.zip
--do not extract it--and use Settings/Preferences>Plugins>Install plugin from disk (under the gear drop-down). Restart the IDE and you'll be using this build.If you previously switched to a Java 8 host JRE using JB SDK Bintray Downloader, feel free to switch back. Either should work, though. The easiest way I've found to revert to the default Java 11 JRE is to remove the file
idea.jdk
/webstorm.jdk
/ etc. (the exact name is based on the host IDE) and restart the IDE. This file can be found under the config subdirectory of the base IDE's user-specific directory. You can also safely remove thejdks
subdirectory found in the same location if no longer using the alternative JREs installed by the JB SDK Bintray Downloader, and you can uninstall the JB SDK Bintray Downloader plugin.Barring unforeseen circumstances, I'll promote this to the official build in the morning.
-
reporter Thanks @scott wells I’ll give it a go now.
-
repo owner - changed status to resolved
Okay, 2.0.7.3 has been posted that should address all known issues except for the one that Xander reported. I'll investigate that one this morning and see what's going on, but this should allow IC2 to work with a Java 11 JRE and address other plugin SDK changes. If you installed the release candidate build posted late yesterday, you're already on this build. Thanks for all the feedback and help verifying the changes!
-
repo owner @Xander Victory, I've extracted the issue you reported into
#1370. Do you mind providing some additional context on what you were doing when you saw this popup in that issue so that I can investigate it today? -
Hi @Scott Wells , “but this should allow IC2 to work” - will there be also a java 11 supported build for IC1 Builds or will they stick to nailing down the version to a local 8 version?
-
repo owner Daniel, I'll take a look this week. The issue is that IC1 is compatible with versions of IntelliJ IDEA back to 12. Let me see if I can make the 14+ version work with Java 11 without having to splinter off yet another distinct build.
-
Account Deactivated what about a fix for IC1?
-
repo owner Galil, as mentioned just above, I'm going to investigate an update for IC1. The issue is that IC1 is compatible with much older versions of the base IDE which may introduce major compatibility issues. I'll take a look at that next week as I'm wrapping up a major IC2 update right now.
-
repo owner - attached IlluminatedCloud-19.zip
I've attached a build of Illuminated Cloud 1 which is updated to work with 2019.2. Note that there is now a distinction between the build of IC1 that works with IntelliJ IDEA 14-2019.1 (
IlluminatedCloud-14.zip
) and the one that works with IntelliJ IDEA 2019.2+ (IlluminatedCloud-19.zip
).To install this build, download the attached archive--do not extract it--and install it into IntelliJ IDEA 2019.2 using Settings/Preferences>Plugins>Install plugin from disk (under the gear drop-down).
Please let me know your experience if you've installed it. I do not plan to release this build until I hear back from users who have tried it.
-
Account Deactivated thanks! working good for me with2019.2/ jdk 11
-
Thanks Scott, that ZIP worked for me. For JDK 11 and 12 seems to be behaving. Where as the market place IC 1.0 doesn’t seem to work for either thanks!
-
repo owner Glad to hear, Aaron. Thanks! I'll definitely look at promoting this build to the official build in the next day or two.
-
The IC1 zip file above worked for me perfectly with 2019.2 - thanks Scott
-
repo owner I've now updated the IC1 official release with a build specific to 2019.2. Both IC1 and IC2 should be good to go.
-
repo owner - removed component
Removing component: Installation (automated comment)
- Log in to comment
Okay, 2.0.7.3 has been posted that should address all known issues except for the one that Xander reported. I'll investigate that one this morning and see what's going on, but this should allow IC2 to work with a Java 11 JRE and address other plugin SDK changes. If you installed the release candidate build posted late yesterday, you're already on this build. Thanks for all the feedback and help verifying the changes!