2012-04-11 86 views
1

在使用JPL與Prolog進行交互的一個Java應用程序中,我希望能夠使用不同的設置重新啓動prolog引擎。例如,我想從SWI更改爲YAP(我使用方法JPL.setNativeLibraryDir配置使用此引擎的引擎以及我需要使用的正確本機庫的路徑)。使用JPL從Java重新啓動Prolog引擎使用JPL

所以在更改JPL配置之後,我試圖暫停已經運行的prolog引擎,以便在之後再次啓動它,並且使用JPL.init()

首先,我看了一下JPL.halt(),但文檔說它已被棄用,並且該方法的源代碼中的註釋表示它是無操作的。我試圖用'halt'啓動一個查詢,但雖然我在控制檯「YAP execution halted」中看到了預期,但我的Java應用程序也停止了(!)。

有沒有辦法使用JPL重新啓動邏輯引擎而不殺死我的Java應用程序?

回答

0

爲什麼不使用批處理文件來運行腳本。首先你可以讓/ Applications/swi -l你的/ swi/code,然後在你的prolog代碼中暫停,這樣它在執行後暫停。你可以使用運行時方法在java中運行你的批處理文件。