Intellij 2019.3 upgraded guava to 27.1, which requires failureaccess as a separate dependency:
/Users/uri/Library/Application Support/JetBrains/Toolbox/apps//IDEA-U/ch-0/193.5233.102/IntelliJ IDEA 2019.3 EAP.app/Contents/lib/guava-27.1-jre.jar
/Users/uri/Library/Application Support/JetBrains/Toolbox/apps//IDEA-U/ch-0/193.5233.102/IntelliJ IDEA 2019.3 EAP.app/Contents/lib/failureaccess-1.0.1.jar
Since the aspect binaries don't declare the dependencies, parsing the packages fails like this:
Nov 29, 2019 2:00:40 PM com.google.idea.blaze.aspect.PackageParser main
SEVERE: Error parsing package strings
java.lang.NoClassDefFoundError: com/google/common/util/concurrent/internal/InternalFutureFailureAccess
at java.base/java.lang.ClassLoader.defineClass1(Native Method)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1016)
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174)
at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:802)
at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:700)
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:623)
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
at java.base/java.lang.ClassLoader.defineClass1(Native Method)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1016)
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174)
at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:802)
at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:700)
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:623)
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
at java.base/java.lang.ClassLoader.defineClass1(Native Method)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1016)
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174)
at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:802)
at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:700)
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:623)
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
at java.base/java.lang.ClassLoader.defineClass1(Native Method)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1016)
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174)
at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:802)
at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:700)
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:623)
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
at java.base/java.lang.ClassLoader.defineClass1(Native Method)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1016)
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174)
at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:802)
at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:700)
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:623)
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
at com.google.common.util.concurrent.AbstractListeningExecutorService.newTaskFor(AbstractListeningExecutorService.java:51)
at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:139)
at com.google.common.util.concurrent.AbstractListeningExecutorService.submit(AbstractListeningExecutorService.java:66)
at com.google.idea.blaze.aspect.PackageParser.parsePackageStrings(PackageParser.java:139)
at com.google.idea.blaze.aspect.PackageParser.main(PackageParser.java:77)
Caused by: java.lang.ClassNotFoundException: com.google.common.util.concurrent.internal.InternalFutureFailureAccess
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
... 50 more
After upgrading to the latest IDE and plugin version, I too am seeing this error all over the place.
Which is weird, because the fix was in the release: https://github.com/bazelbuild/intellij/commits/v2019.12.02 馃槥
IntelliJ IDEA 2019.3 (Ultimate Edition)
Build #IU-193.5233.102, built on November 27, 2019
Runtime version: 11.0.4+10-b520.11 x86_64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
macOS 10.15.2
Actually, just noticed: my bazel plugin is 2019.10.21.0.0-6823f76, Nov 25, 2019. So I guess the IDE doesn't know about the latest release.
Which is weird, because the fix was in the release: https://github.com/bazelbuild/intellij/commits/v2019.12.02 馃槥
It's not published, though you could build it yourself.
Yeah, I'm trying. I manually edited build_defs.bzl to update
"intellij-ue-latest-mac": "intellij-ue-2019.3-mac",
But now I get the error:
intellij/sdkcompat/BUILD:20:1: Configurable attribute "exports" doesn't match this configuration: define an intellij product version, e.g. --define=ij_product=intellij-latest
@zellyn Try bazel build //ijwb:ijwb_bazel_zip --define=ij_product=intellij-2019.3
Without the -mac versions, it all appears to work, then during the build, errors out with: ERROR: command succeeded, but not all targets were analyzed, which (from some quick googling) looks like it _might_ indicate platform-specific cc toolchain problems?
(Which I guessed was the reason for the -mac versions.)
Building it with bazel build //ijwb:ijwb_bazel_zip --define=ij_product=intellij-ue-2019.3 did work for me on a mac.
IDEA 2019.3 can't update the plugin to the latest version (that includes the fix for this issue). And I suppose the root cause is the plugin compatibility specification. According to the page https://plugins.jetbrains.com/plugin/8609-bazel/versions the latest version is compatible with IDEA 2019.2.4 only.
Ping can someone upgrade the plugin?
Agreed, this problem has been solved for 2 months at head, but "Build the plugin from head" is not a solid developer experience. It would be great to get this released to the plugin repos.
Also running into this issue, would be great to get an update out
Agreed, this problem has been solved for 2 months at head, but "Build the plugin from head" is not a solid developer experience. It would be great to get this released to the plugin repos.
You might want to consider to vote (click :+1:) for the issue on JetBrains YouTrack.
By now, the plugin is compatible with 2019.3 and corresponding releases have been pushed to the plugin repository. It sounds as if the necessary fix should be included in all current plugin versions. Hence, I'm closing this issue. Please re-open this issue if I missed something and this issue is still present in current plugin versions.
Most helpful comment
Agreed, this problem has been solved for 2 months at head, but "Build the plugin from head" is not a solid developer experience. It would be great to get this released to the plugin repos.