【问题标题】:NoClassDeffoundError in spring androidSpring android中的NoClassDeffoundError
【发布时间】:2011-05-16 10:43:53
【问题描述】:

大家好,我正面临 NoClassDeffound 的问题:org.springframework.web.client.RestTemplate。 不知道怎么去掉?请给我建议解决方案。

错误:05-16 15:59:03.324: 错误/AndroidRuntime(296): java.lang.NoClassDefFoundError: org.springframework.web.client.RestTemplate 05-16 15:59:03.324: 错误/AndroidRuntime(296):在 org.shopzilla.android.parsing.SearchResult_Json.json_parse(SearchResult_Json.java:10) 05-16 15:59:03.324: 错误/AndroidRuntime(296):在 org.shopzilla.android.search.SearchResultActivity$1.onClick(SearchResultActivity.java:26) 05-16 15:59:03.324: 错误/AndroidRuntime(296):在 android.view.View.performClick(View.java:2408) 05-16 15:59:03.324: 错误/AndroidRuntime(296):在 android.view.View$PerformClick.run(View.java:8816) 05-16 15:59:03.324: 错误/AndroidRuntime(296):在 android.os.Handler.handleCallback(Handler.java:587) 05-16 15:59:03.324: 错误/AndroidRuntime(296):在 android.os.Handler.dispatchMessage(Handler.java:92) 05-16 15:59:03.324: 错误/AndroidRuntime(296):在 android.os.Looper.loop(Looper.java:123) 05-16 15:59:03.324: 错误/AndroidRuntime(296):在 android.app.ActivityThread.main(ActivityThread.java:4627) 05-16 15:59:03.324: 错误/AndroidRuntime(296):在 java.lang.reflect.Method.invokeNative(Native 方法) 05-16 15:59:03.324: 错误/AndroidRuntime(296):在 java.lang.reflect.Method.invoke(Method.java:521) 05-16 15:59:03.324: 错误/AndroidRuntime(296):在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 05-16 15:59:03.324: 错误/AndroidRuntime(296):在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 05-16 15:59:03.324: 错误/AndroidRuntime(296):在 dalvik.system.NativeStart.main(Native 方法)

代码:

public void json_parse()
    {
        RestTemplate restTemplate = new RestTemplate();
        String url = "http://catalog.bizrate.com/services/catalog/v1/us/product/2?publisherId=50085&placementId=1&categoryId=1&keyword=iphone+cases&start=0&results=10&sort=relevancy_desc&brandId=&attFilter=&zipCode=90291&biddedOnly=&minRelevancyScore=100&apiKey=58f536aa2fab110bbe0da501150bac1e&format=json";
        String result = restTemplate.getForObject(url, String.class, "SpringSource");
        System.out.println("Result:"+result);

    }

【问题讨论】:

    标签: android spring noclassdeffounderror


    【解决方案1】:

    发生异常是因为 .apk 中未包含 RestTemplate。我自己已经为这个问题苦苦挣扎了一段时间,发现我还没有安装 m2eclipse-android-integration 插件。安装插件后,一切都可以无缝运行。我现在可以在 Eclipse/STS 中使用“Run as

    您可能需要重新创建项目才能使其正常工作。

    【讨论】:

      【解决方案2】:

      你是否在 libs 文件夹中正确添加了 Spring jar 文件?

      • spring-android-core-1.0.0.RELEASE.jar
      • spring-android-rest-template-1.0.0.RELEASE.jar

      如果你尝试过这个

      右键单击 libs 文件夹中的 jar 文件 > BuildPath > Exclude 然后右键单击 libs 文件夹中的 jar 文件 > BuildPath > 再次包含您的文件

      【讨论】:

        【解决方案3】:

        简短回答:

        从构建路径中删除 jars 并将 lib 重命名为 libs -> 完成

        https://jira.springsource.org/browse/ANDROID-78

        http://android.foxykeep.com/dev/how-to-fix-the-classdefnotfounderror-with-adt-17

        【讨论】:

          【解决方案4】:

          .jars 放入/libs 文件夹,以便将它们包含在.apk 中

          【讨论】:

            猜你喜欢
            • 2014-01-11
            • 2011-02-24
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2016-03-07
            • 2018-05-10
            • 2016-01-18
            相关资源
            最近更新 更多