fesch / Structorizer.Desktop

Structorizer is a little tool which you can use to create Nassi-Schneiderman Diagrams (NSD).
https://structorizer.fisch.lu
GNU General Public License v3.0
65 stars 20 forks source link

Does not start anymore since a couple of versions ago (Manjaro Linux) #1101

Closed StrandedAlien closed 1 year ago

StrandedAlien commented 1 year ago

Hello, just tried it again with an up-to-date system and the latest Structorizer version. Still no dice.

Exception in thread "main" java.lang.NoClassDefFoundError: java/awt/desktop/OpenFilesHandler at Structorizer.main(Structorizer.java:383) Caused by: java.lang.ClassNotFoundException: java.awt.desktop.OpenFilesHandler at java.net.URLClassLoader.findClass(URLClassLoader.java:387) at java.lang.ClassLoader.loadClass(ClassLoader.java:418) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352) at java.lang.ClassLoader.loadClass(ClassLoader.java:351) ... 1 more

codemanyak commented 1 year ago

It seems to me as if you tried to start the Mac version of Structorizer on Linux, which cannot work very well. Class OpenFilesHandler is a Mac-specific GUI adapter, that will not be available in a standard Java environment under Linux. So, which Structorizer version did you actually download? The one you should try with is the "Download ..." for Windows & Linux: grafik

The name of the downloaded file must not be structorizer-latest_mac.zip but structorizer-latest.zip.

I just installed a Manjaro Linux in VirtualBox, installed Openjdk 17 within it, then downloaded and unzipped the latest version of Structorizer for Windows & Linux there, ran the structorizer.sh from the unzipped folder "Structorizer" - and Structorizer opened like a charm: Manjaro_Structorizer_3 32-12

So please make sure you got the right archive.

codemanyak commented 1 year ago

Well, I just checked that even the Structorizer.jar from the Mac download would start on Manjaro Linux.

It is dawning on me that you may not have tried to start the latest composed Structorizer version from the Download page of Structorizer.fisch.lu but to compile Structorizer from the current sources. Is that true? In this case, the library lib/AppeJavaExtensions.jar might be missing in your IDE configuration.

Hm, well, maybe this all is still a little more simple: Do you happen to try with a JDK version < 9 (possibly as compilation target version)?

StrandedAlien commented 1 year ago

Hello, for sure no Mack-Version. I do not touch any stuff from or for Äppel and i make sure of it. I took the version from AUR repository (Arch stuff). Thanks for your answers and special thanks to Kai for his night shift. I am afraid this issue might have been the cause. I solved it finally and here is what caused it and how i solved it.

Arduino 1.89 has a hard dependency to jdk8. I had to remove Structorizer, Arduino and all jdks < = 11. Then re-installed Structorizer, Openjdk 11. Tested Structorizer and it ran fine. Reinstalled Arduino 1.89 and openjdk8 (also runs fine). Now everything is OK. I guess it matters in which sequence you install the JDKs. Solved.

codemanyak commented 1 year ago

@StrandedAlien Many thanks for your really valuable response. We will keep this in mind for further support requests:

I guess it matters in which sequence you install the JDKs. Solved.

I am glad you found the way successfully to work with both applications in coexistence.