0

Droolsを使用して非常に単純なアプリケーションを実行しようとしていますが、数時間の間、すべての依存関係でpom.xmlをセットアップできません。

これが今の様子です:

    <dependencies>

    <!-- Drools engine -->
    <dependency>
        <groupId>org.drools</groupId>
        <artifactId>drools-core</artifactId>
        <version>5.4.0.Final</version>
    </dependency>

    <dependency>
        <groupId>org.drools</groupId>
        <artifactId>drools-compiler</artifactId>
        <version>5.4.0.Final</version>
    </dependency>       

    <!-- Test -->
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.7</version>
        <scope>test</scope>
    </dependency>
</dependencies>

https://community.jboss.org/wiki/DroolsMavenのように

しかし、私が得るもの:

org.drools.RuntimeDroolsException: Unable to load dialect 'org.drools.rule.builder.dialect.java.JavaDialectConfiguration:java:org.drools.rule.builder.dialect.java.JavaDialectConfiguration'
at org.drools.compiler.PackageBuilderConfiguration.addDialect(PackageBuilderConfiguration.java:313)
at org.drools.compiler.PackageBuilderConfiguration.buildDialectConfigurationMap(PackageBuilderConfiguration.java:298)
at org.drools.compiler.PackageBuilderConfiguration.init(PackageBuilderConfiguration.java:187)
at org.drools.compiler.PackageBuilderConfiguration.<init>(PackageBuilderConfiguration.java:160)
at org.drools.builder.impl.KnowledgeBuilderFactoryServiceImpl.newKnowledgeBuilderConfiguration(KnowledgeBuilderFactoryServiceImpl.java:26)
at org.drools.builder.KnowledgeBuilderFactory.newKnowledgeBuilderConfiguration(KnowledgeBuilderFactory.java:85)
yada-yada-yada

Caused by: java.lang.RuntimeException: The Janino jar is not in the classpath

Janinoを追加しようとすると、いくつかの欠落しているクラスについて別の例外が発生します(Janinoは他の何かの依存関係であるため、とにかくここに追加する必要はないと思います)。私は私のpomで何かが恋しいですか?

ありがとう!

レオンティ

4

2 に答える 2

2

デフォルトでは、drools-compilerJavaDialectConfiguration.ECLIPSEは、推移的な依存関係であるJavaダイアレクトにEclipseコンパイラー()を使用します。

<dependency>
  <groupId>org.eclipse.jdt.core.compiler</groupId>
  <artifactId>ecj</artifactId>
</dependency>

ただし、janinoコンパイラ(JavaDialectConfiguration.JANINO)を使用する場合は、janino依存関係を自分で追加する必要があります。これは、オプションの推移的な依存関係であるためです。

<dependency>
  <groupId>org.codehaus.janino</groupId>
  <artifactId>janino</artifactId>
  <optional>true</optional>
</dependency>

droolsjbpm-parent pomを見て、使用するバージョンを見つけてください。

于 2012-08-09T07:20:28.027 に答える
1

Drools 5.4.0 Finalには、適切なバージョンのJaninoが必要であることが判明しました。2.5.16Drools で使用される新しいバージョンの運クラス。

<dependencies>

    <!-- Drools engine -->
    <dependency>
        <groupId>org.drools</groupId>
        <artifactId>drools-core</artifactId>
        <version>5.4.0.Final</version>
    </dependency>

    <dependency>
        <groupId>org.drools</groupId>
        <artifactId>drools-compiler</artifactId>
        <version>5.4.0.Final</version>
    </dependency>

    <dependency>
        <groupId>org.codehaus.janino</groupId>
        <artifactId>janino</artifactId>
        <version>2.5.16</version>
    </dependency>

    <!-- Test -->
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.7</version>
        <scope>test</scope>
    </dependency>

</dependencies>
于 2012-08-08T22:37:50.843 に答える