2016-04-25 12 views
0

Nach den drools 6.3 documentation, section 4.2.2.3:geifert Entscheidungstabellen Precompilieren Maven mit

Die KIE-Plugin für Maven stellt sicher, dass Artefakt Ressourcen validiert und vorkompilierte, es wird empfohlen, dass diese jederzeit verwendet werden. Um das Plugin verwenden Sie einfach fügen Sie ihn in den Build-Abschnitt des Maven pom.xml

Folglich meine pom.xml ist:

<dependencies> 
    <dependency> 
     <groupId>org.drools</groupId> 
     <artifactId>drools-compiler</artifactId> 
     <version>6.3.0.Final-redhat-9</version> 
    </dependency> 
    <dependency> 
     <groupId>org.drools</groupId> 
     <artifactId>drools-decisiontables</artifactId> 
     <version>6.3.0.Final-redhat-9</version> 
    </dependency> 
</dependencies> 

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.kie</groupId> 
      <artifactId>kie-maven-plugin</artifactId> 
      <version>6.3.0.Final-redhat-9</version> 
      <extensions>true</extensions> 
     </plugin> 
    </plugins> 
</build> 

ich meine Entscheidung Tabellendatei platziert, nennen wir es rules.xls, in der src/main/resources/my/company/package/. Der einzige andere Datei in meinem Maven Projekt ist die kmodule.xml-Datei, die in src/main/resources/META-INF/ ist und den minimalen Code:

<?xml version="1.0" encoding="UTF-8"?> 
<kmodule xmlns="http://jboss.org/kie/6.0.0/kmodule"/> 

Weil ich alle anderen Abhängigkeiten entfernt (einschließlich der, die die Java-Objekte enthält, verwendet in die Entscheidungstabelle), erwartete ich Drools, eine Fehlermeldung vom Typ cannot find symbol zu starten.

Wenn ich clean install das Projekt mit Maven, die Kompilierung erfolgreich versuchen, wird eine JAR-Datei erstellt und es enthält die kmodule.xml und rules.xls Dateien an der genauen Stelle, wo ich sie platzierte. Keine zusätzliche Datei beim Kompilieren, kein Fehler, keine Warnung, nichts. Nur ein einfaches JAR mit meinen Dateien, einer MANIFEST.MF Datei und einem maven Verzeichnis unter META-INF.

In der Maven-Spur, hier sind die aktivierten Plugins (in dieser Reihenfolge):

[INFO] --- maven-clean-plugin:2.4.1:clean 
[INFO] --- maven-resources-plugin:2.5:resources 
[INFO] --- maven-compiler-plugin:2.3.2:compile 
[INFO] --- maven-resources-plugin:2.5:testResources 
[INFO] --- maven-compiler-plugin:2.3.2:testCompile 
[INFO] --- maven-surefire-plugin:2.10:test 
[INFO] --- maven-jar-plugin:2.3.2:jar 
[INFO] --- maven-install-plugin:2.3.1:install 

nichts über die kie Plugin. Irgendein Hinweis, um die Kompilierung der Regeln zur Build-Zeit zu aktivieren?

Antwort

0

ich einen Weg finden, endlich zu aktivieren tat das Plugin zu aktivieren. Ich habe diese auf meine pom.xml:

<pluginManagement> 
    <plugins> 
    <plugin> 
     <groupId>org.kie</groupId> 
     <artifactId>kie-maven-plugin</artifactId> 
     <version>6.3.0.Final-redhat-9</version> 
     <extensions>true</extensions> 
     <executions> 
     <execution> 
      <id>brms-rules-compilation</id> 
      <phase>generate-resources</phase> 
      <goals> 
      <goal>build</goal> 
      </goals> 
      <inherited>false</inherited> 
      <configuration> 
      </configuration> 
     </execution> 
     </executions> 
    </plugin> 
    </plugins> 
</pluginManagement> 

Und jetzt eine geifert Compilation Spur erhalten, einschließlich:

[INFO] --- kie-maven-plugin:6.3.0.Final-redhat-9:build 
[main] INFO org.drools.compiler.kie.builder.impl.KieRepositoryImpl - Adding KieModule from resource: FileResource[...] 

Ich bin kein Maven Guru, kann diese Lösung nicht die beste sein (ich selbst tun verstehe nicht ganz, was ich als Maven-Perspektive geschrieben habe), also würde ich mich freuen, einen leichteren zu bekommen.

0

Um kie-Maven-Plugin ist es auch notwendig, geben Sie den richtigen Verpackungstyp in Ihrem pom.xml

<packaging>kjar</packaging> 
+0

Scheint nicht für meine Konfiguration zu funktionieren, bekomme ich eine Maven-Fehlermeldung: '[ERROR] Unbekannte Verpackung: kjar @ Zeile 10, Spalte 13'. Ich habe versucht, unsere Maven 3.0.5 externe Installation und dann auf einem Eclipse-Embedded 3.3.3. Beide melden die gleiche Fehlermeldung, wenn "clean install" ausgeführt wird – Wis