From: Makarius <mak...@sk...> - 2021-03-23 20:09:57
|
On 23/03/2021 20:18, Makarius wrote: >> >> The Java appbundler problem on macOS is a bit intricated. The reason why I >> trashed my own app C-wrapper recently was Apple Silicon M1: I wanted to be >> able to launch native Java, either x86_64 or arm64. >> >> I would be surprised if existing app-wrappers could do that: there is an >> executable that loads the Java runtime as shared library. The executable would >> have to be somehow "hybrid", but I don't know how to do that. > > I've had a brief look at https://www.j-lawyer.org --- it has a recent download > for macOS, using install4j as outer wrapper. > > As expected, the application is for x86_64 only, so on Apple Silicon M1, it > requires runtime translation by Rosetta 2. This works surprisingly well, but a > high-performance application deserves native arm64. Actually, this guy managed to produce a hybrid macOS app with the traditional JavaApplicationStub: https://github.com/ingokegel/jclasslib/releases/tag/5.8 The description refers to "JetBrains Runtime", which probably means this: https://intellij-support.jetbrains.com/hc/en-us/articles/206544879-Selecting-the-JDK-version-the-IDE-will-run-under?page=5 And indeed, the bundled java identifies as "JBR-11.0.9...-jcef" (the last detail is interesting in its own right: Java Chromium Embedded). So apparently we see the high end in the state-of-the-art in Java app bundling here. (What appears to be missing is my add-hoc change to Apple User Preferences, such that the bundled JRE works smoothly with full-screen mode in Big Sur.) Makarius |