-1

Usually, when I a terminal session on an IBM Midrange box, I use a Java-based TN5250 emulator I designed and helped write (but which, alas, is not available to the public except as part of another application).

But occasionally, I need to use the open source TN5250J instead.

I'm in the final stages of migrating from Catalina on a 2017 iMac to Ventura on an M2 Mini. And I noticed two problems with TN5250J:

First, it doesn't show up in Launchpad.

And second, if I find the app, and try to launch it, I get

ERROR launching 'Tn5250j'

No suitable Java version found on your system! This program requires Java 1.6+ Make sure you install the required Java version.

I tried the supposed solution (counterintuitive as it is) at https://stackoverflow.com/q/52782711 but "no joy."

Any other ideas of how to fix this? TN5250J shouldn't be fussy about any remotely current JVM.

This gets worse: Eclipse also fails to launch. It comes back with a different message (and I think it's from some part ofEclipse itself):

Alert
Failed to create the Java Virtual Machine

To answer the question from "greg-449," a /usr/libexec/java_home --verbose returns

    1.8.0_121 (x86_64) "Oracle Corporation" - "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home
    1.7.0_09 (x86_64) "Oracle Corporation" - "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_09.jdk/Contents/Home
/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home

And I will note that if anything runs under the Java 7 JVM, text rendering is seriously screwed up.

I'm wondering if I simply need to reinstall Java, given that these are x86 JVMs, running on M2 hardware.

5
  • 1
    Ventura doesn't ship a JVM, so you will need to install one. Commented May 10, 2023 at 21:18
  • The JVMs from my Catalina box must have transferred over; other Java programs (that launch from AppleScript launchers) work just fine. Commented May 11, 2023 at 15:19
  • 1
    Try running /usr/libexec/java_home --verbose to list all the Java installations the system knows about
    – greg-449
    Commented May 12, 2023 at 6:09
  • Results (and additional symptoms and speculation) added to the question. Thanks. Commented May 12, 2023 at 15:29
  • There is a similar problem on the github issues page for TN5250J - github.com/tn5250j/tn5250j/issues/82
    – greg-449
    Commented May 17, 2023 at 6:21

2 Answers 2

0

You need to uninstall the versions of Java you have and install new ones.

The ones you have are Intel versions and so don't run natively on a Apple Silicon box.

I would note that Java 8 is rather old now and there are many more newer versions. I suspect for ARM you will need one of these. The current long term support from Oracle is Java 17 and the latest normal support is 20.

Install a Java for the arm processor e.g. from from Oracle or Eclipse. Other versions come from Azul. All these can be installed from MacPorts in arm and intel versions and they also include versions back to Java 7.

As for Eclipse I think it includes its own Java version by default - so here again try installing an up to date version.

4
  • Hmm. ARM Java doesn't go nearly as far back as 7 and 8. Commented May 15, 2023 at 16:41
  • 1
    I now have ARM-native versions of Zulu 8 and Oracle Java 17 installed. No change in behavior on TN5250j. But installing Oracle Java 17 breaks MY TN5250 emulator, which I use far more often. So it's gone now. Commented May 15, 2023 at 17:11
  • I will add that if I drill down to the actual TN5250j.jar within TN5250j.app, and double-click on IT, it launches just fine. Commented May 15, 2023 at 17:13
  • That sounds like the way the app was made uses an old way possibly jar-bundler.app if I remeber. You need to remake the app wrapper. This question on SO gives alternatives stackoverflow.com/questions/11037693/… javapackager seems to be the current way, other on that page might now be obselete.
    – mmmmmm
    Commented May 15, 2023 at 19:23
0

Given that none of the suggestions I tried actually accomplished anything (and one broke other Java programs), and that either (1) digging into the existing app and double-clicking the JAR, or (2) launching it with an Applescript app, seems to work just fine, I see no reason to bother with attempting to "repackage" something I rarely use (remember, I said I use a completely different TN5250 client most of the time, one I designed and had a hand in writing), and had no hand in writing.

FWIW, I offer here the source for a simple AppleScript launcher, based on one that I wrote many years ago to launch a JAR under a specific JVM:

do shell script "export JAVA_HOME='/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home'; java -jar /Users/foo/Tn5250j.app/Contents/Resources/Java/tn5250j.jar"

(The name of my home directory has been changed "to protect the innocent.")

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .