Java: Einbetten von Skript -Engines in eine Anwendung: Ist die JSR 223 (Scriptengine) immer noch eine gute Lösung?

StackOverflow https://stackoverflow.com/questions/5358923

  •  27-10-2019
  •  | 
  •  

Frage

Ich möchte in meiner Java -Anwendung eine oder viele Skriptsprachen verwenden.

Aus JRUBY -Website Ich fand, dass es 3 Wege gibt:

  1. Verwenden von Java 6 (mit JSR 223: Skripting)
  2. Einbettung mit Bean Scripting Framework (BSF)
  3. Direkt aufzurufen $ your_scriping_engine $ apis

Da ich mehr als 1 Skript -Engine unterstützen muss, denke ich nicht, dass Option 3 gut genug ist.

Bei der Suche nach Lösung 1. JSR 223: Scripting suche ich nach dem ZIP -Archiv, das alle Skript -Engine -Integration enthält

Download and unzip the collection of jars from the documents and files section of the site (jsr223-engines.tar.gz or jsr223-engines.zip).

Diese Datei befindet sich jedoch im Internet nirgends (Dowload -Abschnitt von Projekthaus ist leer. Wenn ich möchte, kann ich die Quellen herunterladen und meine benötigte Enngines -Integration aufbauen. Quellencode sehen alt aus (2+ Jahre für das, was ich gesehen habe)

Lebt der JSR 223 noch eine gute Lösung? Wenn nicht, ist das Bean Scripting Framework eine gute Alternative? Diese letzte hat eine sehr schlechte Dokumentationsseite und nur wenige Skriptsprachen werden unterstützt (aber es unterstützt den größten Teil der Sprache, die ich haben möchte) ...

War es hilfreich?

Lösung

Ich habe Sandbox -Rhino in ein paar Anwendungen eingebettet und fand es viel einfacher, einfach direkt mit dem Nashorncode zu arbeiten.

Es sei denn, Sie möchten mehrere verschiedene Sprachen einbetten oder auf VMs bereitstellen, die bereits JSR 223 -Gläser haben, dann glaube ich nicht, dass Sie von der zusätzlichen Abstraktionsebene viel profitieren werden.

Ich würde nachdrücklich vorschlagen, dass Sie bei der Auswahl einer Sprache für die Einbettung einfaches Sandboxen berücksichtigen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top