按照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.xml
和rules.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
一無所知的紀伊插件。任何提示在構建時激活規則編譯?
似乎沒有爲我的配置工作,我得到一個Maven錯誤消息:'[錯誤]未知的包裝:kjar @ line 10,column 13'。我嘗試了我們的Maven 3.0.5外部安裝,然後在Eclipse嵌入式3.3.3上。運行'clean install'時都會報告相同的錯誤信息 – Wis