Spock + Drools Testing

▼魔方 西西 提交于 2019-12-10 14:13:01

问题


I have a question regarding SPOCK + Drools testing. Here's the thing,

KnowledgeBuilder builder = KnowledgeBuilderFactory.newKnowledgeBuilder();

That line of code works absolutely fine,inside a JUnit test case. It doesn't inside SPOCK.

I get the following exception,

java.lang.NoClassDefFoundError: com/sun/tools/xjc/Options
    at org.codehaus.groovy.util.LazyReference.getLocked(LazyReference.java:46)
    at org.codehaus.groovy.util.LazyReference.get(LazyReference.java:33)

Caused by: java.lang.ClassNotFoundException: com.sun.tools.xjc.Options
    ... 3 more

What could be the problem? Is it drools related? Unable to get ny head riund the problem. Any help is much appreciated :)

Update:

I am running the test inside a webapp w/o it being deployed(if that makes any sense :)). I added the jar to the classpath(not WEB-INF/libs) and it is working fine now.


回答1:


Although OP states in his update that the problem got fixed by adding appropriate libs to classpath, he does not specify the libs.

I believe this issue gets fixed by adding the following to your dependencies

build('com.sun.xml.bind:jaxb-xjc:2.1')
build('com.sun.xml.bind:jaxb-impl:2.1')


来源:https://stackoverflow.com/questions/19534363/spock-drools-testing

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!