Das Java-Prolog-Interface JPL

Inbetriebnahme

Die Benutzung von JPL ist leider wegen einiger Distributionsfehler etwas aufwendig (u.a. wegen Änderungen in aktuellen Java-Versionen). Das Zusammenspiel zwischen SWI-Prolog und Java kann nur funktionieren wenn alle notwendigen Dateien gefunden werden. Insbesondere betrifft dies die Bibliotheken java.dll und jvm.dll (bzw. libjava.so und libjvm.so), welche Teil Ihrer Java-Laufzeitumgebung sind, und natürlich der Rest der Laufzeitumgebung. Darüberhinaus muss der Classpath für die benutzten Java-Klassen gesetzt werden.

Prüfen Sie bitte zunächst, wo Ihre Java-Laufzeitumgebung installiert ist -- unter Windows (im IRZ) ist C:\Programme\Java\jre8 und unter Ubuntu /usr/lib/jvm/java-8-openjdk-amd64 jeweils ein guter Kandidat. Prüfen Sie dann, wo die angesprochenen Bibliotheken innerhalb dieser Verzeichnisse liegen. Unter Windows (im IRZ) liegt java.dll im Unterverzeichnis bin und jvm.dll im Unterverzeichnis bin\server, unter Linux in den Unterverzeichnissen jre/lib/amd64/ bzw. jre/lib/amd64/server/.

  • Unter Ubuntu (14.10, vermutlich ähnlich in anderen Linuxen und OS X):
    • installieren Sie ggfs. das Paket swi-prolog-java (apt-get install swi-prolog-java)
    • zusätzliche Pfade zu Bibliotheken werden unter Linux in der Umgebungsvariable LD_LIBRARY_PATH angegeben. Für die Pfade im obigen Beispiel führen Sie folgendes Kommando in der Konsole aus: export LD_LIBRARY_PATH=/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server . Beachten Sie den Doppelpunkt als Trennzeichen zwischen beiden Pfaden und passen Sie die Pfade ggfs. Ihren lokalen Gegebenheiten an.
    • starten Sie in derselben Konsole Prolog mit dem Kommando swipl.
  • Unter Windows (im IRZ):
    • JPL ist bei der Windows-Distribution bereits installiert
    • zusätzliche Pfade zu Bibliotheken werden unter Windows in der Umgebungsvariablen PATH angegeben; zusätzlich muss für Prolog noch die Variable WINEPATH gesetzt werden. Für die Pfade im obigen Beispiel führen Sie folgende Kommandos in der Konsole aus: set PATH=%PATH%;C:\Programme\Java\jre8\bin;C:\Programme\Java\jre8\bin\server und set WINEPATH=C:\Programme\Java\jre8\bin;C:\Programme\Java\jre8\bin\server. Beachten Sie das Semikolon als Trennzeichen zwischen beiden Pfaden und passen Sie die Pfade ggfs. Ihren lokalen Gegebenheiten an.
    • starten Sie in derselben Konsole Prolog, zum Beispiel mit dem Kommando c:\programme\swipl\bin\swipl.exe.

  • prüfen Sie die Inbetriebnahme von JPL mit der Eingabe use_module(library(jpl)). Es sollten keine Warnungen erscheinen.
  • prüfen SIe die Funktionsfähigkeit von JPL durch die Bindung eines (beliebigen Java-Objekts): jpl_get('java.awt.Color', black, Black). Es sollten keine Warnungen erscheinen (wohl aber eine Variablenbindung der Art Black = @('J#00000000000456276560').).

  • persistieren Sie ggfs. die Änderungen an den oben genannten Umgebungsvariablen, unter Linux zum Beispiel durch einen Eintrag in Ihrer .profile oder mit einem alias, unter Windows weiß-gott-wie.

Nutzung für die Weihnachtsaufgabe

  • Kopieren Sie die Datei grafik-java.pl und das Java-Archiv ShapeDrawingFrame.jar in Ihr Arbeitsverzeichnis.
  • setzen Sie den Classpath ggfs. durch die Eingabe von export CLASSPATH=ShapeDrawingFrame.jar (bzw. set CLASSPATH=ShapeDrawingFrame.jar unter Windows).
  • starten Sie grafik-java.pl durch die Eingabe von swipl -s grafik-java.pl (sinngemäß unter Windows).

-- TimoBaumann - 02 Dec 2014
 
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback