雾雨人偶店

Drools开发关于化学禁配的规则引擎

虽然已经在github安家了,不过文字部分还是搬过来好了。

记录一下开发过程和其中的问题及解决办法。  

1、【python提取禁配规则】  

reference:https://www.jianshu.com/p/642456aa93e2  

https://blog.csdn.net/cyjs1988/article/details/75041915  

我是用了anaconda直接下载的openpyxl插件,没有装anaconda的话可能要再去另外下载。  

一个问题是在表格中循环的时候,英文列名需要先数字化才能进行循环,也就是py文件的第15行内容。

第二个问题是在一个print函数中,如果想输出字符串+int变量,中间用逗号隔开;如果是字符串+str变量,中间用+隔开。  

2、【Drools循环】  由于之前做的demo都是简单的循环所以并没有发生这次的情况,这次由于直接赋值+insert到引擎一起放在了一个循环中,导致了drools无法匹配的问题。查问题时还找到了一个原因是没有用监听“https://developer.jboss.org/thread/194740”, 但是我没有用这个解决方法,我不知道这个listener应该放在哪里,如果有人知道还请赐教。最后的解决方法是把赋值和insert分开在两个循环做,也就是现在程序里的样子。在没有解决这个问题的版本里,是直接得到变量t之后就insert了,现在的版本由于多了一个循环,才引入了变量c。  

3、【Drools程序打包】  按照常规方法打包后发现本来能匹配的规则突然就匹配不到了,找全公司的大佬查了2天bug,我自己也在研究drools的官方文档。最后的答案竟然是Drools不识别中文!!!  当然还是记录一下过程中大佬们的调试方法:  

3.1远程调试jar包:在Run-Edit Configuration里面新建一个Remote,复制地址到CMD里面,输入JAVA -jar 地址,再到IDE里面点调试,就能调试jar包了 

3.2手动移动jar中的文件地址(牛逼  

3.3移动依赖包的前后顺序ProjectStructure-Modules-Dendencies 选中需要调整的,然后上下移动  

评论