woped / WoPeD

WoPeD Rich Client

Home Page:https://woped.dhbw-karlsruhe.de/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

WoPeD ist nicht mit allen Java-Versionen kompatibel

ChelloX opened this issue · comments

WoPeD lässt sich nach Installation nicht mit allen Java-Versionen starten.

Bekannte Versionen mit Problemen:

  • Oracle SE 13
  • Oracle SE 15

Probiert mit Oracle Java 15.0.2 für Windows 64 Bit, klappt tadellos, sowohl "installer" exe als auch WoPeD.exe, also auch Starten mit java -jar ...

Ebenso mit OpenJDK 14.0.1

Linux Open JDK 11.0.7 Ubuntu auch kein Problem

OpenJdk 11.0.9 unter Win64 auch kein Problem

Ich kann zwar bei mir den Fehler mit keiner bisher installierten Java-Version reproduzieren (habe einiges ausprobiert, von Oracle, OpenJDK, Versionen 11, 13, 14, 15, ...), aber ich bin mir recht sicher, dass es nur an launch4j liegen kann. Interessant wäre es, ob ein Unterschied besteht, ob man

  1. Die Installer-EXE direkt aufruft durch Doppelklick oder
  2. Die Installer-EXE mit java -jar auf der Kommandozeile aufruft

Im ersten Fall muss das Bundle ja die Java VM selbst suchen, im zweiten Fall ist Java vorgegeben. Die Fehlermeldung deutet ja darauf hin, dass da offenbar keine Java VM gefunden wird.
Dann wäre (2) ein vorläufiger Workaround, bis wir den Fehler mit der EXE gefunden haben.
Interessant wäre die Frage, ob auch die WoPeD.exe das gleiche Problem bereitet.

Ich meine es ist so, dass

  1. bei Doppelklick das Standard-Programm verwendet wird, welches mit der Dateiendung (.jar) assoziiert ist. Das müsste irgendwo in REGEDIT zu finden sein.
  2. bei "java -jar" der Java-Pfad aus den Umgebungsvariablen gezogen wird.
    (ohne Gewähr)

Ich werde die Tage mal ein kleines Testprogramm schreiben, in launch4j packen und schauen von welcher Java-Umgebung das Programm für (1) und (2) aufgerufen wird.

Bei mir funktioniert bei Oracle Java 15.0.1 lediglich der Weg über die Konsole.
WoPeD install test

Ich konnte WoPeD mit Oracle Java 15.0.2 zwar inzwischen installieren, beim direkten Start der .exe bekomme ich aber folgenden Fehler:
image

Start mit intellij sowie aus der Konsole geht aber einwandfrei

Vermutlich auch lösbar durch direktes Ausführen mit Java: java -jar WoPeD.exe

Scheint wirklich an unserem Wrapper launch4j zu liegen, der aus der JAR eine EXE baut, in dem die Java-Installation gesucht wird und der diese dann mit der eingebetteten JAR aufruft.

Ich würde vorschlagen, dass wir schnell eine Release 3.8.1. nachschieben, die sowohl den Installer als auch die ausführbare WoPeD-Datei nicht als EXE sondern als JAR ausliefert (also ohne Wrappen mit launch4j). Dann können wir den Fehler in aller Ruhe suchen. Bei Linux ist das ja sowieso schon so und beim MacOS wird alles anders verpackt, insofern betrifft es nur die Windows-Version.

Workaround for windows
Set your JAVA_HOME environment variable as described here.