2016-04-25 78 views
0

按照drools 6.3 documentation, section 4.2.2.3:對MavenDrools的決策表預編譯使用Maven

的KIE插件確保神器資源的驗證和預編譯的,建議,這是在任何時候使用。要使用該插件只需將它添加到的Maven構建部分的pom.xml

因此,我的pom.xml的是:

<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> 

我把我的決定表文件,姑且稱之爲rules.xls,在src/main/resources/my/company/package/。在我的Maven項目的唯一其它文件是kmodule.xml文件,該文件是在src/main/resources/META-INF/,包含最少的代碼:

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

因爲我刪除了所有其他的依賴關係(包括包含在所使用的Java對象之一決策表),我期待Drools發起一個類型爲cannot find symbol的錯誤消息。

但是當我嘗試使用Maven的項目clean install時,編譯成功,創建了一個JAR文件,它在我放置它們的確切位置包含kmodule.xmlrules.xls文件。在編譯過程中沒有生成額外的文件,沒有錯誤,沒有警告,什麼都沒有。只是一個普通的JAR與我的文件,一個MANIFEST.MF文件和一個maven目錄下META-INF

在Maven痕跡,這裏是激活插件(按順序):

[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 

一無所知的紀伊插件。任何提示在構建時激活規則編譯?

回答

0

我終於沒有找到一個方法來激活插件。我說這對我的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> 

現在得到的Drools編譯跟蹤,包括:

[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[...] 

我沒有Maven的大師,這種解決方案可能不是最好的(我連做不完全理解我寫作Maven的觀點),所以我會很樂意得到一個更容易的。

0

爲了激活乃紀伊 - Maven的插件還需要在你的pom.xml指定正確的包裝類型

<packaging>kjar</packaging> 
+0

似乎沒有爲我的配置工作,我得到一個Maven錯誤消息:'[錯誤]未知的包裝:kjar @ line 10,column 13'。我嘗試了我們的Maven 3.0.5外部安裝,然後在Eclipse嵌入式3.3.3上。運行'clean install'時都會報告相同的錯誤信息 – Wis