0

ヒューマン タスク ドキュメントのDrools Flowのサンプル コードに従おうとしていますが、次のコードがあります。

import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import org.drools.task.service.TaskService;

// ...

EntityManagerFactory emf = 
  Persistence.createEntityManagerFactory("org.drools.task");
TaskService taskService = new TaskService(emf, null);

ここで指定されているようにpersistence.xmlファイルを入れました(ファイルをマングルすると XML 解析エラーが発生するため、確実に取得されます) が、次の例外がスローされます。META-INF

Exception in thread "main" java.lang.IllegalArgumentException: 
  Named query not found: UnescalatedDeadlines
at org.hibernate.ejb.AbstractEntityManagerImpl.createNamedQuery(
  AbstractEntityManagerImpl.java:108)
at org.drools.task.service.TaskService.<init>(TaskService.java:65)
at org.drools.task.service.TaskService.<init>(TaskService.java:48)
at com.sample.RuleFlowTest.main(RuleFlowTest.java:32)`

の 2 番目のパラメータTaskServiceは必須ですが、ドキュメントには記載されていないことに注意してください。私にはありそうにないようですが、私がnull行ったように設定すると、この問題が発生する可能性がありますか?

4

1 に答える 1

1

ビルドされたディレクトリにと(で指定されているクエリという名前のUnescalatedDeadlines)の両方persistence.xmlをコピーすることで、この例外を防ぎました。orm.xmldrools-process-task-5.0.1.jar/META-INForm.xmlMETA-INF

ただし、(java.lang.NoClassDefFoundError: antlr/ANTLRExceptionHibernateから)別の例外が発生しています...

この問題を修正するantlr/ANTLRExceptionために、最新のHibernateディストリビューション()をダウンロードし、ディレクトリからクラスパスにhibernate-distribution-3.3.2.GA-dist.zip追加しました。antlr-2.7.6.jarlib

これほど複雑にする必要がありますか?

于 2009-09-30T08:57:00.110 に答える