VP 16.2 Integration with IntelliJ IDEA 2020.3.3 on Ubuntu 20.04 with OpenJDK 11.0.10 fails

Hello,

I have just downloaded a 30-day trial of Visual Paradigm 16.2 and installed it on Ubuntu 20.04 with OpenJDK 11.0.10 installed. One of the main reasons I’m evaluating it for possible purchase is its integration with JetBrains IntelliJ IDEA. I am running IntelliJ IDEA version 2020.3.3. Installing Visual Paradigm was successful and I can load it. I was able to install the plugin (VP-SDEJ) into IntelliJ IDEA install folder at ~/.local/shareJetBrains/Toolbox/apps/IDEA-U/ch-0/203.7717.56, per the JetBrains Toolbox settings for IntelliJ IDEA. That seemed to install ok.

However, when I ran the IntelliJ IDEA, upon startup, I receive the following error, or after I enable the plugin in IntelliJ and restart it:

Plugin ‘VP-SDE’ failed to initialize and will be disabled. Please restart IntelliJ IDEA.

java.lang.ExceptionInInitializerError
at com.vp.vpsde.ij.VPSDEIJInit.(:47)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:398)
at com.intellij.serviceContainer.ComponentManagerImpl.registerComponent(ComponentManagerImpl.kt:332)
at com.intellij.serviceContainer.ComponentManagerImpl.registerComponents(ComponentManagerImpl.kt:280)
at com.intellij.serviceContainer.ComponentManagerImpl.registerComponents(ComponentManagerImpl.kt:218)
at com.intellij.openapi.project.impl.ProjectLoadHelper.registerComponents(projectLoader.kt:25)
at com.intellij.openapi.project.impl.ProjectManagerImpl.initProject(ProjectManagerImpl.java:171)
at com.intellij.openapi.project.impl.ProjectManagerExImpl.prepareProject(ProjectManagerExImpl.kt:242)
at com.intellij.openapi.project.impl.ProjectManagerExImpl.access$prepareProject(ProjectManagerExImpl.kt:52)
at com.intellij.openapi.project.impl.ProjectManagerExImpl$openProject$$inlined$runInAutoSaveDisabledMode$lambda$1.invoke(ProjectManagerExImpl.kt:104)
at com.intellij.openapi.project.impl.ProjectManagerExImpl$openProject$$inlined$runInAutoSaveDisabledMode$lambda$1.invoke(ProjectManagerExImpl.kt:52)
at com.intellij.openapi.project.impl.ProjectUiFrameAllocator$run$progressTask$1.run(ProjectFrameAllocator.kt:86)
at com.intellij.openapi.progress.impl.ProgressRunner.lambda$new$0(ProgressRunner.java:79)
at com.intellij.openapi.progress.impl.ProgressRunner.lambda$submit$3(ProgressRunner.java:235)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:178)
at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:658)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:610)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:65)
at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:165)
at com.intellij.openapi.progress.impl.ProgressRunner.lambda$submit$4(ProgressRunner.java:235)
at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1700)
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.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:668)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:665)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:665)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: com.intellij.diagnostic.PluginException: While loading class v.dcj.a: Invalid pc in LineNumberTable in class file v/dcj/a [Plugin: VP-SDE]
at com.intellij.ide.plugins.cl.PluginClassLoader.loadClassInsideSelf(PluginClassLoader.java:318)
at com.intellij.ide.plugins.cl.PluginClassLoader.tryLoadingClass(PluginClassLoader.java:238)
at com.intellij.ide.plugins.cl.PluginClassLoader.loadClass(PluginClassLoader.java:127)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
at v.dbp.c.(:81)
at v.dbp.x.(:66)
at v.dbp.x.(:22)
… 29 more
Caused by: java.lang.ClassFormatError: Invalid pc in LineNumberTable in class file v/dcj/a
at java.base/java.lang.ClassLoader.defineClass1(Native Method)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1017)
at com.intellij.util.lang.UrlClassLoader._defineClass(UrlClassLoader.java:404)
at com.intellij.util.lang.UrlClassLoader.defineClass(UrlClassLoader.java:389)
at com.intellij.util.lang.UrlClassLoader._findClass(UrlClassLoader.java:350)
at com.intellij.ide.plugins.cl.PluginClassLoader.loadClassInsideSelf(PluginClassLoader.java:315)
… 35 more

Like I said, the main reason I am looking at Visual Paradigm is its ability to integrate with IntelliJ IDEA, so any ideas on getting this to work would be greatly appreciated.

Thanks,
Ron Kanagy

Hi Ron,

Thank you for your post and sorry for the inconvenience caused. With the information you provided, we can repeat the same problem. I have asked our engineers to fix the problem. When there is any news, I will post it here.

Best regards,
Jick Yeung

Hi Jick,

Thank you for getting back to me on this.

I have been able to get VP 16.2 to integrate with Eclipse 2021-03 (4.19.0 - the latest version) by updating the eclipse.ini and changing the -vm argument to point to the JRE bin folder installed and provided by VP 16.2. I wonder if the issue I’m having with IntelliJ IDEA 2020.3.3 is related to the issue I was having with Eclipse where the wrong version of the JRE was being used. As far as I know the version that Eclipse was using out of the box was OpenJDK 11.0.10, whereas the version that is installed with VP 16.2 appears to be OpenJDK 11.0.7. It just seems odd that two very close versions would have caused this issue unless perhaps there was a change in the Java .class file format between those two versions.

I look forward to hearing back from you regarding what your engineers are able to determine.

Thanks,
Ron Kanagy

Thanks Ron. I have just shared your feedback with our engineers and they told me that they are checking.

On an unrelated note, which version of VP should I purchase if all I really want and need are full UML diagramming, full integration with both Eclipse and IntelliJ IDEA, and full code engineering (being able to create Java from UML and UML from Java)?

It appears that both are available in the Standard and Professional versions, but what is not clear to me is whether the Pro version adds capabilities in those areas that the Standard version does not, or are they exactly the same when it comes to UML, IDE integration, and code engineering, and also equivalent in functionality when compared to the Enterprise version which I’m currently demoing.

Thanks,
Ron Kanagy

Hi Ron,

We tested and found that Oracle JDK 11.0.9 works, while 11.0.10 does not. We need more time to diagnose. As a workaround, you may consider changing to 11.0.9 first. When there is any update, I will share with you again.

Best regards,
Jick Yeung

Hi Jick,

Thank you for getting back to me on this.

Have they tested it with OpenJDK 11.0.9? Or is that equivalent to Oracle JDK 11.0.9?

Also, did you see my question regarding VP Standard vs. Pro for UML, IDE integration, and Code engineering?

Thanks,
Ron Kanagy

When you say for me to try JDK version 11.0.9, are you referring to the OpenJDK version I have installed on my Ubuntu machine? Or are you referring to the JetBrains Runtime (JBR) version that IntelliJ uses?

My IntelliJ JBR is also using OpenJDK 11.0.10.

Hi Jick,

I installed OpenJDK 11.0.9 and setup the update-alternatives for all the commands in the bin folder of the jdk 11.0.9 folder and then switched the version of the java command to use the 11.0.9 version. When I reloaded IntelliJ IDEA, re-enabled the VP-SDE plugin and restarted IntelliJ, I’m still getting the same error. I did see that IntelliJ does install a jdk/jvm in its install folder and it is version OpenJDK 11.0.10. I’m wondering if it is using that installation of the JDK whenever it tries to use the VP-SDE plugin.

Any ideas on what I can do to get this to work with OpenJDK 11.0.9? What specific steps did your engineers take to get his working with the JDK 11.0.9 version? Do I have to install the Oracle JDK and not the OpenJDK version? Where do I get the installer/files for the Oracle JDK 11.0.9?

Looking forward to hearing what I need to do to get this working, preferrably with 11.0.10 version.

Thanks,
Ron Kanagy

Hi Ron,

We havne’t been testing with OpenJDK 11.0.9. We tested with Oracle JDK 11.0.9 and found it working. It can be downloaded here:
https://www.oracle.com/java/technologies/javase/jdk11-archive-downloads.html

It’s just a workaround to use 11.0.9. We are working on resolving the problem associated with 11.0.10.

About the comparison between Standard and Professional Edition, if you are looking for the following features:

  • Full UML modeling
  • Eclipse and IntelliJ IDEA integration + code engineering
  • Full Code engineering

Then, the Standard Edition already covers everything you need. Comparing to the Standard Edition, the Professional Edition adds the following capabilities:

  • Agile & Scrum
    • User story map
    • One-page Scrum process canvas for Scrum project management
    • LeSS framework canvas
    • Nexus framework canvas
  • Project Management
    • Project Management Guide-Through process tool
    • PMBOK Just-in-Time Process Map
    • PERT chart
    • Breakdown structure
    • Cause and Effect Diagram
    • Roadmap and implementation plan
    • Radar chart
  • Strategy Analysis
    • Strategic Planning Guide-Through process tool
    • BMM diagram
  • Business management
    • Business Process Reengineering Canvas
    • Business rule management
    • Business Motivation Model (BMM)
  • Quality Control
    • Quality Control Canvas
  • Other
    • ETL Table - Query model elements and present their properties in tabular form
    • Form builder
    • Tabular spreadsheet editor
  • Visual file cabinet

Hope the information has helped. Please feel free to let us know if you have any questions.

Best regards,
Jick Yeung

Hi Jick,

Actually, that happens to be the page I downloaded JDK 11.0.9 from. Here is the version information:

(base) rkanagy@Ron-Ubuntu:~$ java --version
java 11.0.9 2020-10-20 LTS
Java™ SE Runtime Environment 18.9 (build 11.0.9+7-LTS)
Java HotSpot™ 64-Bit Server VM 18.9 (build 11.0.9+7-LTS, mixed mode)

So, I was mistaken that this was the OpenJDK version, but is indeed the Oracle JDK version. However, like I said, this did not fix the issue.

Can you give me the exact steps your engineers took to get the VP integration with IntelliJ IDEA to work with this 11.0.9 version of the JDK? Also, do I need to uninstall the VP Integration files from IntelliJ first, and then reinstall it while the 11.0.9 version of java is active? Are there any other JDK commands that I need to switch to the 11.0.9 version as well? Currently, only the java command has been switched from 11.0.10 to 11.0.9.

Thanks,
Ron Kanagy

Hi Ron,

The problem is fixed, and a patch build is released. Please follow the steps in the article below to update to the latest patch (16_2_20210420ad or higher) first.

Then, try to start IJ, and see if there is a menu under the “Tools” menu for starting Visual Paradigm. If no, please perform the steps below:

  1. In IJ, press Ctrl-Alt-S to open the Settings window
  2. Select Plugins on the left
  3. Select Installed on the right
  4. Search SDE.
  5. Enable VP-SDE
  6. Click OK to confirm

  1. Restart IJ.

Please try and let me know if it works.

Best regards,
Jick Yeung

Hi Jick,

I wanted to let you know that the patch fixed my issue with integrating VP 16.2 with IntelliJ IDEA.

Thank you very much for help on this matter.

Thanks,
Ron Kanagy

Hi everyone,

A hotfix build has been released. If you are using the patch build, please perform an update to advance to the hotfix build. You can follow the instruction in the page below for an update:

Best regards,
Jick Yeung

Thanks Jick! This saved my buddy and me from a lot of trouble. There are not a lot of forums / posts about this problem, so this really was our only shot. Take care