【问题标题】:How to configure SWI-prolog with Java on Eclipse on OS X (JPL)如何在 OS X (JPL) 上的 Eclipse 上使用 Java 配置 SWI-prolog
【发布时间】:2015-11-24 22:11:50
【问题描述】:

我正在尝试让 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 无法找到,但它没有显示任何效果。 我的 PATH 包含:

/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/

希望有人知道发生了什么。 有什么想法吗?

【问题讨论】:

    标签: eclipse prolog swi-prolog jpl


    【解决方案1】:

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

    $ which swipl
    

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

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

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

    【讨论】:

    • 非常感谢!不幸的是问题没有解决,错误信息是:
    • // 字段描述符#8 Lorg/cs3/prolog/connector/internal/process/socket/JackTheProcessRipper;
    • PDT 和 SWI-Prolog 进程之间的连接使用套接字。检查 SWI-Prolog 进程是否接受 Mac OS X 安全和私人控制面板中防火墙选项下的连接。
    • 编译自 SocketServerStartAndStopStrategy.java(版本 1.7:51.0,超位)公共类 org.cs3.prolog.connector.internal.process.socket.SocketServerStartAndStopStrategy 实现 org.cs3.prolog.connector.internal。 process.ServerStartAndStopStrategy {
    • 我看到源附件不包含文件套接字 ServerStartAndStopStrategy.class 的源的消息......它没有看到吗?不兼容或不可用?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-02-27
    • 2012-04-02
    • 1970-01-01
    • 2010-10-29
    • 1970-01-01
    • 1970-01-01
    • 2011-06-04
    相关资源
    最近更新 更多