Hallo,
ich bin schon seit Jahren begeisterter Hibiscus-Nutzer und dankbar für diese großartige Software!
Ich habe ein Java-Script-Plugin und nach dem Udpate auf Jameica 2.12.0 festgestellt, dass es nicht mehr funktioniert, sondern schon das Laden des Plugins mit einem Fehler abbricht:
[Mon Jan 26 09:20:27 CET 2026][ERROR][main][de.willuhn.jameica.services.ScriptingService.eval] error while loading script
javax.script.ScriptException: ReferenceError: "importPackage" is not defined. (eval#207) in eval at line number 207 at column number 0
at org.mozilla.javascript.engine.RhinoScriptEngine.eval(RhinoScriptEngine.java:134)
at java.scripting/javax.script.AbstractScriptEngine.eval(Unknown Source)
at de.willuhn.jameica.services.ScriptingService.eval(ScriptingService.java:265)
at de.willuhn.jameica.services.ScriptingService.init(ScriptingService.java:158)
at de.willuhn.jameica.services.ScriptingService$InitMessageConsumer.handleMessage(ScriptingService.java:507)
at de.willuhn.jameica.messaging.NamedConcurrentQueue.deliver(NamedConcurrentQueue.java:249)
at de.willuhn.jameica.messaging.NamedConcurrentQueue.sendSyncMessage(NamedConcurrentQueue.java:104)
at de.willuhn.jameica.messaging.MessagingFactory.sendSyncMessage(MessagingFactory.java:130)
at de.willuhn.jameica.gui.GUI.init(GUI.java:330)
at de.willuhn.jameica.system.Application.init(Application.java:145)
at de.willuhn.jameica.system.Application.newInstance(Application.java:87)
at de.willuhn.jameica.Main.main(Main.java:78)
Das Nachvollziehen des Problems ist bereits mit Hilfe des htmlunit-Plugins (Version 4.4.0) von HibiscusMashup möglich. Hat man dieses Plugin installiert kommt beim Laden des Plugins eine ähnliche Fehlermeldung, nur mit anderer Zeilennummer.
Der Hintergrund scheint zu sein, dass auf Grund des Java-Updates bei Jameica (ich habe keine globale Java-Installation auf dem Rechner) die Java-Script-Engine nun aus der Java-Umgebung gefallen ist und bei Jameica mitgeliefert wird (Ordner lib/mozilla_rhino). In der Mozilla Rhino-Engine ist aber importPackage nicht unterstützt oder nur mit manueller Anpassung möglich (und auch dann treten Folgefehler auf), siehe offenes Issue bei Mozilla Rhino.
Auch nach Ersetzen der mitgelieferten Mozilla Rhino Library 1.7.14 mit der aktuellen 1.9.0 blieb das Problem bestehen.
Ich konnte das Problem mittlerweile lösen, indem ich die mozilla-rhino Library aus dem Ordner lib/mozilla_rhino von Jameica entfernt habe und stattdessen dort die Nashorn-Engine in der Version 15.7 hinterlegt habe. Dazu musste ich noch die bei Mozilla Rhino enthaltenen ASM-Libraries asm, asm-commons, und asm-utils in der Version 9.9.1 in den Ordner legen. Danach lief mein Skript in der ursprünglichen Form wieder problemlos, wie unter Jameica 2.10.0 und auch das htmlunit-Plugins von Hibiscus Mashup wirft keinen Fehler mehr.
Ich hoffe ich kann hiermit dem ein oder anderen helfen, der auch noch ein javascript-Plugin hat und sich wundert, dass es nach dem Update auf Jameica 2.12.0 nicht mehr funktioniert.
Ggf. können die beschriebenen Libraries statt Mozilla Rhino in ein nächstes Release von Jameica mit aufgenommen werden?
Viele Grüße,
Hendrik Peilke
ich bin schon seit Jahren begeisterter Hibiscus-Nutzer und dankbar für diese großartige Software!
Ich habe ein Java-Script-Plugin und nach dem Udpate auf Jameica 2.12.0 festgestellt, dass es nicht mehr funktioniert, sondern schon das Laden des Plugins mit einem Fehler abbricht:
Code
[Mon Jan 26 09:20:27 CET 2026][ERROR][main][de.willuhn.jameica.services.ScriptingService.eval] error while loading script
javax.script.ScriptException: ReferenceError: "importPackage" is not defined. (eval#207) in eval at line number 207 at column number 0
at org.mozilla.javascript.engine.RhinoScriptEngine.eval(RhinoScriptEngine.java:134)
at java.scripting/javax.script.AbstractScriptEngine.eval(Unknown Source)
at de.willuhn.jameica.services.ScriptingService.eval(ScriptingService.java:265)
at de.willuhn.jameica.services.ScriptingService.init(ScriptingService.java:158)
at de.willuhn.jameica.services.ScriptingService$InitMessageConsumer.handleMessage(ScriptingService.java:507)
at de.willuhn.jameica.messaging.NamedConcurrentQueue.deliver(NamedConcurrentQueue.java:249)
at de.willuhn.jameica.messaging.NamedConcurrentQueue.sendSyncMessage(NamedConcurrentQueue.java:104)
at de.willuhn.jameica.messaging.MessagingFactory.sendSyncMessage(MessagingFactory.java:130)
at de.willuhn.jameica.gui.GUI.init(GUI.java:330)
at de.willuhn.jameica.system.Application.init(Application.java:145)
at de.willuhn.jameica.system.Application.newInstance(Application.java:87)
at de.willuhn.jameica.Main.main(Main.java:78)
Das Nachvollziehen des Problems ist bereits mit Hilfe des htmlunit-Plugins (Version 4.4.0) von HibiscusMashup möglich. Hat man dieses Plugin installiert kommt beim Laden des Plugins eine ähnliche Fehlermeldung, nur mit anderer Zeilennummer.
Der Hintergrund scheint zu sein, dass auf Grund des Java-Updates bei Jameica (ich habe keine globale Java-Installation auf dem Rechner) die Java-Script-Engine nun aus der Java-Umgebung gefallen ist und bei Jameica mitgeliefert wird (Ordner lib/mozilla_rhino). In der Mozilla Rhino-Engine ist aber importPackage nicht unterstützt oder nur mit manueller Anpassung möglich (und auch dann treten Folgefehler auf), siehe offenes Issue bei Mozilla Rhino.
Auch nach Ersetzen der mitgelieferten Mozilla Rhino Library 1.7.14 mit der aktuellen 1.9.0 blieb das Problem bestehen.
Ich konnte das Problem mittlerweile lösen, indem ich die mozilla-rhino Library aus dem Ordner lib/mozilla_rhino von Jameica entfernt habe und stattdessen dort die Nashorn-Engine in der Version 15.7 hinterlegt habe. Dazu musste ich noch die bei Mozilla Rhino enthaltenen ASM-Libraries asm, asm-commons, und asm-utils in der Version 9.9.1 in den Ordner legen. Danach lief mein Skript in der ursprünglichen Form wieder problemlos, wie unter Jameica 2.10.0 und auch das htmlunit-Plugins von Hibiscus Mashup wirft keinen Fehler mehr.
Ich hoffe ich kann hiermit dem ein oder anderen helfen, der auch noch ein javascript-Plugin hat und sich wundert, dass es nach dem Update auf Jameica 2.12.0 nicht mehr funktioniert.
Ggf. können die beschriebenen Libraries statt Mozilla Rhino in ein nächstes Release von Jameica mit aufgenommen werden?
Viele Grüße,
Hendrik Peilke