如何在OS X(JPL)上的Eclipse上使用Java配置SWI-prolog

时间:2015-11-24 22:11:51

标签: eclipse prolog swi-prolog jpl

我正在努力让Java和Prolog一起工作(在OS X 10.11.1上)。我想要的只是从Java输入我的Prolog查询。

当我运行像

这样的Java代码时
PrologProcess process = Connector.newPrologProcess();
process.queryOnce(query);

我收到以下错误:

java.io.IOException: Cannot run program "swipl": error=2, No such file                  or directory
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
...

首先我做的是在我的PATH变量中添加条目,因为我认为找不到SWIProlog,但它没有显示效果。 我的路径包含:

/opt/local/lib/swipl-7.2.3/
/opt/local/lib/swipl-7.2.3/bin
/opt/local/lib/swipl-7.2.3/bin/x86_64-darwin15.0.0/swipl
/opt/local/lib/swipl-7.2.3/bin/swipl.home
/Applications/SWI-Prolog.app/Contents/swipl/lib/jpl.jar
/Applications/SWI-Prolog.app/Contents/swipl/bin/x86_64-       darwin15.0.0/swipl
/Applications/SWI-Prolog.app/Contents/swipl/
/Applications/SWI-Prolog.app/Contents/

希望有人知道最新情况。 有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您的几个PATH条目毫无意义。试试Terminal.app窗口:

$ which swipl

这将告诉swipl可执行文件的位置。由于您似乎还安装了SWI-Prolog.app GUI应用程序,因此可执行文件的正确路径为:

/Applications/SWI-Prolog.app/Contents/MacOS/

另请注意,Mac OS X GUI应用程序不在shell之上运行,因此不会继承用于命令行命令的环境变量定义。但Eclipse允许在其首选项面板之一中定义环境变量。