我搜索了与我的问题相关的所有主题,但找不到解决方法。 我正在使用带有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
有人对此有任何想法吗?谢谢!
答案 0 :(得分:0)
由于您使用的是Java SDK,因此您应该查看RIM在整合facebook&推特到你的BB应用程序:https://github.com/blackberry/Samples-for-Java/tree/master/SocialApp
答案 1 :(得分:0)
可能的原因ApplicationSettings是使用更高版本的java编译的。 检查项目属性 - > java编译器 - >编译器合规性级别 - >这必须是1.4