2012-04-11 1 views
1

JPL을 사용하여 Prolog와 상호 작용하는 하나의 Java 응용 프로그램에서 다른 설정으로 프롤로그 엔진을 다시 시작하려고 할 수 있습니다. 예를 들어, SWI에서 YAP으로 변경하고 싶습니다 (어떤 엔진을 JPL.setNativeLibraryDir 메서드와 함께 사용하고 적절한 네이티브 라이브러리의 경로를 사용해야하는지).JPL을 사용하여 Java에서 Prolog 엔진 다시 시작

그래서 JPL 구성을 변경 한 후 이미 실행중인 프롤로그 엔진을 중지 한 후 나중에 다시 시작하기 위해 JPL.init()을 사용했습니다.

처음에 나는 JPL.halt()을 살펴 봤지만 문서에서는 더 이상 사용되지 않으며 메서드의 소스 코드에있는 주석은 아무 작업도 없다고 말했습니다.

나중에 'halt'와 함께 쿼리를 시작하려고했지만 "YAP 실행이 예상대로 중단되었습니다"라는 메시지가 표시되지만 내 Java 응용 프로그램도 중지됩니다 (!).

내 Java 응용 프로그램을 죽이지 않고 JPL을 사용하여 논리 엔진을 다시 시작하는 방법이 있습니까?

답변

0

스크립트를 실행하기 위해 배치 파일을 사용하지 않는 이유는 무엇입니까? 먼저/Applications/swi -l/swi/code를 사용하고 프롤로그 코드 내에서 중지를 사용하여 실행 후 중지되도록 할 수 있습니다. 런타임 메서드를 사용하여 Java 내부에서 배치 파일을 실행할 수 있습니다.