0

src次を使用して、Javaファイルからディレクトリの下にあるコンストラクトファイルを実行したいと思います。

engine.batch("src/constructs.clp");

Eclipse でコンパイルしてプログラムを実行すると、問題はありません。ただし、Runnable Jar をエクスポートして作成すると、プログラムがsrc/constructs.clpファイルの実行に失敗します。

どんな助けでも大歓迎です。

以下は、表示されるエラー メッセージの一部です。

Jess reported an error in routine batch.

      Message: Cannot open file.
        at jess.Batch.findDocument(Unknown Source)
        at jess.Batch.batch(Unknown Source)
        at jess.Batch.batch(Unknown Source)
        at jess.Batch.batch(Unknown Source)
        at jess.Batch.batch(Unknown Source)
        at jess.Rete.batch(Unknown Source)
4

2 に答える 2

1

jar 内に src フォルダーがないため、プログラムの実行に失敗します。winrar などの解凍ソフトウェアで jar を開いて確認できます。

このプログラムは、constructs.clp ファイルを、それを使用する Java プログラムと同じディレクトリに置き、engine.batch("constructs.clp"); を呼び出すと動作するはずです。

于 2015-05-18T16:59:26.427 に答える
1

これはおそらく、src/constructs.clpファイルが JAR に含まれていないために発生しています。Jessのbatchコマンドは、ファイル システムでファイルが見つからない場合でも、実際にクラス パスからファイルを見つけてロードできることがわかりました。src/constructs.clpファイルを JAR にパッケージ化すると、batchコマンドがファイルを検出し、コードは開発時と実行時の両方で変更されずに動作します (これは設計によるものです)。

于 2015-05-19T12:35:10.273 に答える