4

Java から swi prolog を実行しようとしています。Eclipse
を使用しており、プロジェクトに jpl.jar を挿入し (プロパティ -> ライブラリ -> 外部 jar を追加)、プログラムを実行しようとしているときに (これは jpl のサンプルです)動作するはずです..)エラーが発生します:

Exception in thread "main" java.lang.UnsatisfiedLinkError: no jpl in java.library.path
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1758)
    at java.lang.Runtime.loadLibrary0(Runtime.java:823)
    at java.lang.System.loadLibrary(System.java:1045)
    at jpl.JPL.loadNativeLibrary(JPL.java:100)
    at jpl.fli.Prolog.<clinit>(Prolog.java:85)
    at jpl.Query.open(Query.java:286)
    at jpl.Util.textToTerm(Util.java:162)
    at jpl.Query.<init>(Query.java:198)
    at faf.Main.main(Main.java:10) <br>

私は何が欠けていますか?

4

4 に答える 4

2

今日、Debian でこの問題が発生しました。私の解決策は、Felix Dobslaw のものと似ていました。他に見つけられなかったので、今日の解決方法を投稿します。

私の SWI-Prolog と JPL は apt-get 経由でインストールされました。環境に応じてパス フォルダーを変更します。

  • libswipl.soを から/usr/libにコピーします。usr/lib/swi-prolog/lib/amd64

    ( sudo cp <probably-user-lib>/libswipl.so <installation-folder-swi>/lib/<architeture>)

  • -Djava.library.path="/usr/lib/swi-prolog/lib/amd64"VM オプションとして追加

    (プロジェクトのプロパティ -> 実行 -> VM オプション)

于 2014-10-23T21:58:42.263 に答える
1

プラットフォームに応じて、jpl dll などがあるはずです。%PATH% のどこかでアクセスできるようにするか、-Djava.library.path=<path to jpl.dll>Java プロパティでその場所を指定する必要があります。

JPLのインストールについてもっと読む

于 2012-10-22T03:55:52.950 に答える
1

私も同じ問題を抱えていました。これはUbuntuで私を助けました:

1)jpl jarのネイティブライブラリの場所を、「libswipl.so」を保持するフォルダーにポイントします(プロジェクトの「Javaビルドパス」設定を介して行います)。私にとってそれは:

/usr/lib/swipl-6.2.6/lib/x86_64-linux

2)「libjava.so」を保持するフォルダーをLD_LIBRARY_PATH変数に追加します(環境タブの実行構成で行います)。私にとってそれは:

/usr/lib/jvm/java-6-openjdk/jre/lib/amd64

于 2013-02-11T17:16:13.567 に答える
0

Eclipse Neon と自作のソリューション:

brew update
brew install swi-prolog --with-jpl

VM-Arg として設定された Eclipse の実行/デバッグ構成で:

-Djava.library.path=/usr/local/Cellar/swi-prolog/7.4.2/libexec/lib/swipl-7.4.2/lib/x86_64-darwin16.6.0

実際のパスは異なる場合があります。

于 2017-06-20T11:46:41.917 に答える