Java drools kjar查询不存在
我一直在从事drools项目,最近我们开始使用kie maven插件将电子表格构建到kjars中。现在,为了测试kjar构建,我有一个电子表格和一个查询。我遇到的问题是找不到查询。我不确定是否找到了电子表格规则,但我正在进行会话 抱歉发了这么长的帖子,但我真的需要帮助。完整信息如下 My kmodule.xml:Java drools kjar查询不存在,java,drools,Java,Drools,我一直在从事drools项目,最近我们开始使用kie maven插件将电子表格构建到kjars中。现在,为了测试kjar构建,我有一个电子表格和一个查询。我遇到的问题是找不到查询。我不确定是否找到了电子表格规则,但我正在进行会话 抱歉发了这么长的帖子,但我真的需要帮助。完整信息如下 My kmodule.xml: <kbase name="com.foo.ratings.decisionTables.flex"> <ksession name="flex"/>
<kbase name="com.foo.ratings.decisionTables.flex">
<ksession name="flex"/>
</kbase>
错误:
2017-11-02 11:01:35.727 ERROR 34585 --- [nio-8080-exec-6] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.RuntimeException: Query 'getFlexCode' does not exist] with root cause
java.lang.RuntimeException: Query 'getFlexCode' does not exist
at org.drools.core.impl.StatefulKnowledgeSessionImpl$ExecuteQuery.execute(StatefulKnowledgeSessionImpl.java:907) ~[drools-core-7.1.0.Final.jar!/:7.1.0.Final]
at org.drools.core.phreak.SynchronizedPropagationList$1.execute(SynchronizedPropagationList.java:53) ~[drools-core-7.1.0.Final.jar!/:7.1.0.Final]
我们已经查看了kjar内部,看到了kmodule.xml以及kbase.cache。下面是扩展的jar:
drwxr-xr-x 7 localadmin staff 238 Nov 2 11:17 META-INF
-rw-r--r-- 1 localadmin staff 0 Nov 2 10:54 application.properties
drwxr-xr-x 3 localadmin staff 102 Nov 2 10:54 com
com扩展为com/foo/ratings/decisionTables/flex,包含我的电子表格和我的查询drl文件
下面是扩展的META-INF:
-rw-r--r-- 1 localadmin staff 100 Nov 2 10:56 MANIFEST.MF
drwxr-xr-x 3 localadmin staff 102 Nov 2 10:56 com
-rw-r--r-- 1 localadmin staff 752813 Nov 2 10:56 kmodule.info
-rw-r--r-- 1 localadmin staff 209 Nov 2 10:54 kmodule.xml
drwxr-xr-x 4 localadmin staff 136 Nov 2 10:54 maven
META-INF/com扩展为com/foo/ratings/decisionTables/flex并包含我的kbase.cache
我的pom:
<groupId>com.foo.ratings.tangerineGin</groupId>
<artifactId>MyFlex</artifactId>
<version>1.0.2</version>
<packaging>kjar</packaging>
<build>
<plugins>
<plugin>
<groupId>org.kie</groupId>
<artifactId>kie-maven-plugin</artifactId>
<version>7.1.0.Final</version>
<extensions>true</extensions>
</plugin>
</plugins>
</build>
添加一个简单的高显著性规则,其中包含空LHS和RHS上的println,然后查看是否触发该规则。如果没有,那么DRL就不会添加到KieBase中,因为某种原因(我太无知了,看不出来)。但它应该缩小范围。谢谢,我们试过了,发现没有找到drl街,即使kmodule被找到了。请参阅编辑。我们找到了问题所在。包含kjar的服务器未设置为maven项目。我们为META-INF/maven添加了pom.properties。。它是有效的。
<groupId>com.foo.ratings.tangerineGin</groupId>
<artifactId>MyFlex</artifactId>
<version>1.0.2</version>
<packaging>kjar</packaging>
<build>
<plugins>
<plugin>
<groupId>org.kie</groupId>
<artifactId>kie-maven-plugin</artifactId>
<version>7.1.0.Final</version>
<extensions>true</extensions>
</plugin>
</plugins>
</build>
<rulesByPackage>
<entry>
<string>com.foo.ratings.decisionTables.flex</string>
<set>
<string>getFlexCode</string>
</set>
</entry>
<entry>
<string>com.foo.decisionTable.calculateFlexGroup_CO</string>
<set>
<string>calculate_flex_959</string>
Found kmodule: jar:file:/Users/localadmin/workspace/TangerineGin/TangerineGin-server/build/libs/tangerine-gin-server-1.0.jar!/BOOT-INF/lib/TangerineGin-flex-1.0.6.jar!/META-INF/kmodule.xml
Unable to find pom.properties in /Users/localadmin/workspace/TangerineGin/TangerineGin-server/build/libs/tangerine-gin-server-1.0.jar
Unable to load pom.properties from/Users/localadmin/workspace/TangerineGin/TangerineGin-server/build/libs/tangerine-gin-server-1.0.jar
Cannot find maven pom properties for this project. Using the container's default ReleaseId
KieModule was added: ZipKieModule[releaseId=org.default:artifact:1.0.0-SNAPSHOT,file=/Users/localadmin/workspace/TangerineGin/TangerineGin-server/build/libs/tangerine-gin-server-1.0.jar]