我已经将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的项目中很常见。
如果您告诉我们更多有关您的配置的信息,那么尝试并查找原因将更加容易。