标签:Drools java drools getClassLoader 问题 examples StateExampleUsingSalience main cla
原文链接:http://www.cnblogs.com/xw-cnblogs/archive/2012/04/21/2461569.html class.getClassLoader() 问题学习Drools的Examples时,Drools的例子程序分为3大目录存放
drools-examples/src/main/java --java源程序
drools-examples/src/main/resources --Drools规则
drools-examples/target/classes --目标程序输出
在Eclipse中创建的Drools项目中,默认目录结构是:
./src/main/java --java源程序
./src/main/rules --Drools规则
./bin --目标程序输出
当将例子中的Drools规则文件copy到自己的项目rules目录下,没有按照drl中的Package进行目录结构组织时,执行例子程序报错:
Exception in thread "main" java.lang.NullPointerException
at java.io.Reader.<init>(Unknown Source)
at java.io.InputStreamReader.<init>(Unknown Source)
at org.drools.examples.state.StateExampleUsingSalience.main(StateExampleUsingSalience.java:39)
解决方法:
方法1.将main 程序中的规则加载语句修改下,补充getClassLoader() 即可:
builder.addPackageFromDrl( new InputStreamReader( StateExampleUsingSalience.class.getResourceAsStream( "StateExampleUsingSalience.drl" ) ) );
builder.addPackageFromDrl( new InputStreamReader( StateExampleUsingSalience.class.getClassLoader().getResourceAsStream( "StateExampleUsingSalience.drl" ) ) );
方法2.
按照规则文件(drl)中的Package,将规则文件放到该目录结构中,即可。
posted on 2012-04-21 15:47 black smith 阅读(...) 评论(...) 编辑 收藏
转载于:https://www.cnblogs.com/xw-cnblogs/archive/2012/04/21/2461569.html
标签:Drools,java,drools,getClassLoader,问题,examples,StateExampleUsingSalience,main,cla 来源: https://blog.csdn.net/weixin_30232567/article/details/98776930
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。