5

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

KnowledgeBuilder builder = KnowledgeBuilderFactory.newKnowledgeBuilder();

这行代码在 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

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

更新:

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

4

1 回答 1

1

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

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

build('com.sun.xml.bind:jaxb-xjc:2.1')
build('com.sun.xml.bind:jaxb-impl:2.1')
于 2014-04-26T21:19:24.220 回答