1

JPL を使用して Prolog と対話する 1 つの Java アプリケーションで、異なる設定で Prolog エンジンを再起動できるようにしたいと考えています。例として、SWI から YAP に変更したいと思います (使用するJPL.setNativeLibraryDir必要がある適切なネイティブ ライブラリのパスを持つメソッドで、これを使用するエンジンを構成します)。

そのため、JPL 構成を変更した後、既に実行中のプロローグ エンジンを停止して、後で再起動しようとしましたJPL.init()

最初に を調べましJPL.halt()たが、ドキュメントには非推奨であり、メソッドのソース コードのコメントにはノーオペレーションであると記載されています。

その後、'halt' でクエリを起動しようとしましたが、コンソールに "YAP の実行が停止しました" と表示されますが、Java アプリケーションも停止しています (!)。

Java アプリケーションを強制終了せずに JPL を使用してロジック エンジンを再起動する方法はありますか?

4

1 に答える 1

0

バッチ ファイルを使用してスクリプトを実行してみませんか。最初に /Applications/swi -l your/swi/code を実行してから、prolog コード内で halt を使用して、実行後に停止できるようにします。ランタイム メソッドを使用して、Java 内でバッチ ファイルを実行できます。

于 2012-08-15T17:26:42.073 に答える