Ошибка компиляции Java "пакет jpl не существует" в Ubuntu
Я установил swi-пролог с помощью $ sudo apt-get install swi-prolog
а также $ sudo apt-get install swi-prolog-java
Однако я не могу ничего скомпилировать на NetBeans, потому что это дает мне это:
Как вы можете видеть на скриншоте, я даже попытался импортировать jpl.jar в библиотеки проекта, но, похоже, ничего не работает.
Есть несколько похожих вопросов по этому поводу, но все ответы всегда связаны с Windows, я хотел бы получить некоторую помощь относительно этого пакета для пользователей Linux.
1 ответ
@ Тамара Я заглянул внутрь 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
Посмотрите здесь для получения дополнительных примеров https://github.com/SWI-Prolog/packages-jpl/tree/master/examples/java