Blackberry Facebook SDK抛出异常:NoClassDefFoundError

时间:2012-07-26 19:28:03

标签: facebook eclipse blackberry noclassdeffounderror

我搜索了与我的问题相关的所有主题,但找不到解决方法。 我正在使用带有JRE 7.1.0的Eclipse v1.5.2的BlackBerry Java Plug-in编写Blackberry应用程序。我目前正在尝试将Facebook Connect集成到我的应用程序中,以便用户可以通过Facebook登录我们的应用程序。 我正在使用的Blackberry Facebook SDK是从这里下载的0.8.25版本:

http://sourceforge.net/projects/facebook-bb-sdk/

获得两个jar文件后,FacebookBlackberrySDK-v0.8.25.jar和Log4B-v0.9.4.jar我首先成功地用eclipse预验证它们并将它们作为库包含在我的项目中。 该项目编译成功,但后来我遇到了运行时错误:NoClassDefFoundError。 经过调试,我发现在这一行抛出了异常:

fb = Facebook.getInstance(new ApplicationSettings(NEXT_URL, APPLICATION_ID, APPLICATION_SECRET, Facebook.Permissions.ALL_PERMISSIONS));

我怀疑程序找不到文件Facebook.class 下面是我的源代码:

package com.nextmobile.ecourage.net;

import com.blackberry.facebook.ApplicationSettings;
import com.blackberry.facebook.Facebook;

public class FacebookLogin
{
    private final String NEXT_URL = "http://www.facebook.com/connect/login_success.html";
    private final String APPLICATION_ID = "153555168010272";
    private final String APPLICATION_SECRET = "354f91a79c8fe5a8de9d65b55ef9aa1b";
    private Facebook fb;
    private Facebook fb4u;

    public FacebookLogin()
    {
        fb = Facebook.getInstance(new ApplicationSettings(NEXT_URL, APPLICATION_ID, APPLICATION_SECRET, Facebook.Permissions.ALL_PERMISSIONS));
        fb4u = Facebook.getInstance(new ApplicationSettings(NEXT_URL, APPLICATION_ID, APPLICATION_SECRET, Facebook.Permissions.USER_DATA_PERMISSIONS));
        fb4u.addPermission(Facebook.Permissions.OFFLINE_ACCESS);
    }
}

所以我只用这行代码替换了那些行:

new ApplicationSettings(NEXT_URL, APPLICATION_ID, APPLICATION_SECRET, Facebook.Permissions.ALL_PERMISSIONS);

并且它没有给出任何错误。 这很奇怪因为Facebook.class和ApplicationSettings.class都在同一个目录中,程序可以找到ApplicationSettings.class而不是Facebook.class。

这两个类都在包下:com.blackberry.facebook

有人对此有任何想法吗?谢谢!

2 个答案:

答案 0 :(得分:0)

由于您使用的是Java SDK,因此您应该查看RIM在整合facebook&推特到你的BB应用程序:https://github.com/blackberry/Samples-for-Java/tree/master/SocialApp

答案 1 :(得分:0)

可能的原因ApplicationSettings是使用更高版本的java编译的。 检查项目属性 - > java编译器 - >编译器合规性级别 - >这必须是1.4

相关问题