编译错误Java“;“包jpl不存在”;在Ubuntu上

编译错误Java“;“包jpl不存在”;在Ubuntu上,java,ubuntu,packages,swi-prolog,jpl,Java,Ubuntu,Packages,Swi Prolog,Jpl,我使用$sudo-apt-get-install-swi-prolog和$sudo-apt-get-install-swi-prolog-java 但是,我无法在netbeans上编译任何内容,因为它提供了以下信息: 正如您在屏幕截图上看到的,我甚至尝试将jpl.jar导入到项目的库中,但似乎没有任何效果 关于这个问题也有一些类似的问题,但所有的答案都与Windows有关,我想为linux用户获得一些关于这个软件包的帮助。@Tamara我查看了jpl.jar的内部,我想你应该使用包org.jp

我使用
$sudo-apt-get-install-swi-prolog
$sudo-apt-get-install-swi-prolog-java
但是,我无法在netbeans上编译任何内容,因为它提供了以下信息:

正如您在屏幕截图上看到的,我甚至尝试将jpl.jar导入到项目的库中,但似乎没有任何效果


关于这个问题也有一些类似的问题,但所有的答案都与Windows有关,我想为linux用户获得一些关于这个软件包的帮助。

@Tamara我查看了jpl.jar的内部,我想你应该使用包org.jpl7,而不仅仅是jpl

下面是一段对我有用的代码:

import org.jpl7.JPL;
import org.jpl7.Query;
import org.jpl7.Term;

public class PrologApp {
    public static void main(String[] args) {
        Query.hasSolution("use_module(library(jpl))"); // only because we call e.g. jpl_pl_syntax/1 below
        Term swi = Query.oneSolution("current_prolog_flag(version_data,Swi)").get("Swi");
        System.out.println("swipl.version = " + swi.arg(1) + "." + swi.arg(2) + "." + swi.arg(3));
        System.out.println("swipl.syntax = " + Query.oneSolution("jpl_pl_syntax(Syntax)").get("Syntax"));
        System.out.println("swipl.home = " + Query.oneSolution("current_prolog_flag(home,Home)").get("Home").name());
        System.out.println("jpl.jar = " + JPL.version_string());
        System.out.println("jpl.dll = " + org.jpl7.fli.Prolog.get_c_lib_version());
        System.out.println("jpl.pl = " + Query.oneSolution("jpl_pl_lib_version(V)").get("V").name());
    }
}
和输出:

swipl.version = 7.2.3
swipl.syntax = modern
swipl.home = /usr/lib/swi-prolog
jpl.jar = 7.0.1-alpha
jpl.dll = 7.0.1-alpha
jpl.pl = 7.0.1-alpha

点击此处查看更多示例

该软件包的Java部分可在
/usr/share/Java
中找到;e、 g.
/usr/share/java/jpl.jar
(看起来本地库位于
/usr/lib/swi prolog/lib
),希望能有所帮助。感谢您的回答,但正如我在问题中所说的,我已经将jpl.jar添加到了项目中,文件就在它们应该在的地方。非常感谢!这正是我所需要的,它现在运行良好。