Spock + Drools测试

Avi*_*ash 5 groovy drools spock

我有一个关于SPOCK + Drools测试的问题.这是事情,

KnowledgeBuilder builder = KnowledgeBuilderFactory.newKnowledgeBuilder();
Run Code Online (Sandbox Code Playgroud)

在JUnit测试用例中,这行代码完全正常.它不在SPOCK内.

我得到以下异常,

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
Run Code Online (Sandbox Code Playgroud)

可能是什么问题呢?流口水相关吗?无法解决问题.任何帮助深表感谢 :)

更新:

我正在部署一个webapp内部运行测试(如果这有意义:)).我将jar添加到类路径(不是WEB-INF/libs),现在工作正常.

kas*_*tti 1

尽管 OP 在他的更新中指出通过向类路径添加适当的库来解决问题,但他没有指定库。

我相信通过将以下内容添加到您的依赖项中可以解决此问题

build('com.sun.xml.bind:jaxb-xjc:2.1')
build('com.sun.xml.bind:jaxb-impl:2.1')
Run Code Online (Sandbox Code Playgroud)