我已经将rest-assured-2.2.0.jar放在我的Eclipse工作区中(对于Android应用程序),并将其添加到项目的buildpath中作为引用库。然后我导入:

import com.jayway.restassured.RestAssured;
import static com.jayway.restassured.RestAssured.*;
import static com.jayway.restassured.matcher.RestAssuredMatchers.*;
import static org.hamcrest.Matchers.*;


但是如果我RestAssured.given();我仍然得到
Caused by: java.lang.NoClassDefFoundError: com.jayway.restassured.internal.ResponseParserRegistrar

如果我查看jar文件内部,则可以在正确的位置找到ResponseParserRegistrar.class文件,因此它确实存在。

如果我尝试导入它,它不会抱怨:

import com.jayway.restassured.internal.ResponseParserRegistrar;


但是它仍然给出错误。

我忘记或做错了什么?

编辑

现在,我使用以下MainActivity创建了一个空白的新Android应用:

package com.example.testrestassured;

import com.example.testrestassured.R;
import android.app.Activity;
import android.os.Bundle;
import com.jayway.restassured.RestAssured;
import com.jayway.restassured.RestAssured.*;
import com.jayway.restassured.internal.ResponseParserRegistrar;
import com.jayway.restassured.matcher.RestAssuredMatchers.*;

public class MainActivity extends Activity{

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main_layout);
        RestAssured.given();
    }
}


该项目只有一个引用的库:rest-assured-2.2.0.jar(正确的拼写)。

我还是遇到同样的问题

E/AndroidRuntime(13142): Caused by: java.lang.NoClassDefFoundError: com.jayway.restassured.internal.ResponseParserRegistrar


编辑

更改为rest-assured-2.3.0.jar(新版本)并添加json-schema-validator-2.3.0.jar及其依赖项列表很大,也无法解决。我试图找到运行时类路径,但是在ADT菜单中找不到它。

最佳答案

确保您的罐子版本不超过一个。当父项目具有旧版本的库时,这在使用Maven的项目中很常见。

如果您告诉我们更多有关您的配置的信息,那么尝试并查找原因将更加容易。

10-07 15:54