java.lang.NoClassDefFoundError : groovy/lang/GroovyObject 错误

标签 java web-services groovy junit

尝试测试 Jersey Web 服务时出错

java.lang.NoClassDefFoundError: groovy/lang/GroovyObject
Caused by: java.lang.ClassNotFoundException: groovy.lang.GroovyObject

.

import static com.jayway.restassured.RestAssured.expect;
import static com.jayway.restassured.RestAssured.get;
import static org.hamcrest.CoreMatchers.equalTo;
import static org.hamcrest.CoreMatchers.nullValue;

import org.junit.Test;

public class SimpleTest  {

    @Test
    public void testUserFetchesSuccess() {
        expect().
                body("id", equalTo("1")).
                when().
                get("/service");
    }


}

这是什么意思?如何解决?

更新

我下载并安装了 groovy-all。现在我得到:

java.lang.NoClassDefFoundError: org/codehaus/groovy/runtime/typehandling/ShortTypeHandling
    at com.jayway.restassured.internal.ResponseParserRegistrar.<init>(ResponseParserRegistrar.groovy)
    at com.jayway.restassured.RestAssured.<clinit>(RestAssured.java:346)
    at SimpleTest.testUserFetchesSuccess(SimpleTest.java:10)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45)
    at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
    at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42)
    at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
    at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263)
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68)
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47)
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
    at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
    at org.junit.runner.JUnitCore.run(JUnitCore.java:157)
    at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:63)
Caused by: java.lang.ClassNotFoundException: org.codehaus.groovy.runtime.typehandling.ShortTypeHandling
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    ... 24 more

最佳答案

下载 groovy-all.jar 并将其添加到类路径中。

使用 Maven,将其添加到您的依赖项(browse groovy-all on mvnrepository.com):

<dependency>
    <groupId>org.codehaus.groovy</groupId>
    <artifactId>groovy-all</artifactId>
    <version>2.4.5</version>
</dependency>

关于java.lang.NoClassDefFoundError : groovy/lang/GroovyObject 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25793068/

相关文章:

java - 在 Linux 中执行一个 jar 文件

java - 内部类的 NoClassDefFoundError

django - Web API 的用途是什么

java - 在整个单词上创建子字符串

github - 使用 OAuth 的 api.github.com 的 Groovy HTTPBuilder

java - Java应用程序中的MVC模式

Java 新手日历类问题

web-services - 从经典的 asp 页面调用 REST web 服务

java - axis1.4客户端使用Mtom发送文件

groovy - 在 Groovy 中更改 map 中的值