Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Spock + Drools Testing

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.

like image 600
Avinash Avatar asked Nov 12 '22 19:11

Avinash


1 Answers

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')
like image 62
kaskelotti Avatar answered Dec 08 '22 19:12

kaskelotti