首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NoClassDefFoundError: ResponseParserRegistrar

NoClassDefFoundError: ResponseParserRegistrar
EN

Stack Overflow用户
提问于 2014-01-23 15:52:54
回答 2查看 2.2K关注 0票数 0

我已经将rest-assured-2.2.0.jar放在我的Eclipse工作区中(对于一个Android应用程序),并将它作为参考库添加到项目的构建路径中。然后我进口了:

代码语言:javascript
复制
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文件,因此它确实存在。

如果我试图进口它,它不会抱怨:

代码语言:javascript
复制
import com.jayway.restassured.internal.ResponseParserRegistrar;

但它仍然给出了错误。

我忘了什么或者做错了什么?

编辑

现在,我用以下MainActivity创建了一个空白的新安卓应用程序:

代码语言:javascript
复制
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();
    }
}

该项目只有一个参考库:放心-2.2.0.jar(正确拼写)。

但我还是遇到了同样的问题

代码语言:javascript
复制
E/AndroidRuntime(13142): Caused by: java.lang.NoClassDefFoundError: com.jayway.restassured.internal.ResponseParserRegistrar

编辑

更改为“放心”-2.3.0.jar(新版本)并添加json验证程序-2.3.0.jar和它的大量依赖项也没有修复它。我试图找到运行时类路径,但在ADT的菜单中找不到它。

EN

回答 2

Stack Overflow用户

发布于 2014-01-23 15:56:43

确保您没有超过一个版本的jar。这在使用Maven的项目中非常常见,因为父项目有旧版本的库。

如果您能告诉我们更多关于您的配置的信息,就更容易找到原因。

票数 1
EN

Stack Overflow用户

发布于 2014-01-23 16:35:52

如果Java或ClassLoader实例试图加载类的定义(作为普通方法调用的一部分或作为使用新表达式创建新实例的一部分),则会引发NoClassDefFoundError,但无法找到该类的定义。

现在,在上面,当您有MAVEN项目时,您可能还没有在pom.xml中添加您的放心-2.2.0.jar的依赖项。

如果您正在构建Eclipse或Eclipse插件。

如果是,您应该将“放心”-2.2.0.jar放在插件依赖项下。转到plugin.xml,运行时并在类路径中放置rest-2.2.0.jar。

另外,作为交叉检查,请检查您在任何地方使用的拼写名称都是相同的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21313104

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档