Native M1 JRE for Mac?

Hello,

Does anyone know if/when Visual Paradigm will either ship with a native JRE for Apple Silicon (M1)? Or, is it possible to switch it to using the Microsoft JRE or Azul Zulu JRE that are native on M1?

I tried adjusting i4jlauncher.config in Visual Paradigm.app/Contents/Resources to point to the other Java home, but just broke it in the process until I reverted the change.

Thank you!

Hi craigstjean,

Thank you for your inquiry. I have forwarded your message to our team for further review. When there is an answer I will let you know.

Best regards,
Jick Yeung

Hi craigstjean,

Could you look in the bin folder of the Visual Paradigm installation and see if there are any .log files generated? If so, could you zip those files and send them to us for diagnosis? You can send me a private message, or submit a ticket at the URL below (don’t forget to attach the log files).

Best regards,
Jick Yeung

Thank you, @Jick.

For reference to anyone else finding this, here is what I tried (and what I submitted to support):

I’ve tried moving jre.bundle in /Applications/Visual Paradigm.app/Contents/Resources to jre.bundle.old and then linking the native Azul Zulu JVM (ln -s /Library/Java/JavaVirtualMachines/zulu-11.jdk jre.bundle), but loading Visual Paradigm fails loading immediately, giving me “An internal error occurred (error code: Could not load JRE.)”. I have also tried linking Microsoft’s (/Library/Java/JavaVirtualMachines/microsoft-17.jdk).

I was hoping to find some log data, however there are no .log files in /Applications/Visual Paradigm.app (nor did I find any in $HOME/Library/Logs). There are logs in $HOME/Library/Application Support/VisualParadigm, as well as $HOME/Library/Application Support/Visual Paradigm (space in Visual Paradigm), however “Visual Paradigm” just has webview logs, and VisualParadigm has some properties as well as vp.log and vpupdate.log. vp.log has no data from today, however, so nothing is being logged from i4jlauncher.

I did notice that Azul Zulu’s OpenJDK does not have a jre folder, so I modified i4jlauncher.config’s 128 property to point to jre.bundle/Contents/Home instead of jre.bundle/Contents/Home/jre.

I also noticed that /Applications/Visual Paradigm.app/Contents/Resources/app/scripts/VisualParadigm.sh points to the jre subfolder, so I adjusted that file as well, but to the same result.

Last, I tried to link a jre subfolder to itself so jre/bin/java would resolve (cd /Applications/Visual Paradigm.app/Contents/Resources/jre.bundle/Contents/Home; sudo ln -s jre .) after linking to the Azul Zulu JRE, but I had no success there either (same result).

Hi craigstjean,

Thank you for your reply with the detailed description of what you have tried to solve the problem. I have forwarded your reply to our team for further study. When there is any news, I will let you know.

Best regards,
Jick Yeung

Hi craigstjean,

Thank you for your trial runs on various cases. I would like to clarify on the following.

After you had modified the VisualParadigm.sh, are you run this script in Terminal app?
Or keep run from launcher of Visual Paradigm app ?

Best regards,
Mercus.

Hello @mercus,

Both failed, but luckily I have solved it! The issue is because the JavaApplicationStub is built for x86_64, and Rosetta 2 won’t let it load an ARM JVM.

Instead, until an official ARM version of Visual Paradigm is available, here are the steps someone can take:

  1. cd /Applications/Visual\ Paradigm.app/Contents/Resources
  2. Switch to the Zulu JVM:
    1. mv jre.bundle jre.bundle.old
    2. ln -s /Library/Java/JavaVirtualMachines/zulu-11.jdk jre.bundle
  3. Update lib05.jar:
    1. Download an updated lib05.jar from Visual Paradigm (I hope it’s ok to share this link, @Rain: ownCloud)
    2. cd app/lib
    3. mv lib05.jar lib05.jar.old
    4. cp ~/Downloads/lib05.jar .
  4. Update JavaApplicationStub
    1. Download the latest install4j from Multi-Platform Java Installer Builder - install4j
    2. cd /Applications/Visual Paradigm.app/Contents/MacOS
    3. mv JavaApplicationStub JavaApplicationStub.old
    4. cp /Volumes/install4j/install4j.app/Contents/Resources/app/resource/macos/JavaApplicationStub.arm64 /Applications/Visual\ Paradigm.app/Contents/MacOS/JavaApplicationStub
    5. chmod +x JavaApplicationStub
1 Like