我们有一些在Java 6中运行良好的代码:
String g = "https://graph.facebook.com/oauth/access_token?client_id=xxxxx&redirect_uri="
+ URLEncoder.encode("http://www.bestcricketgame.com/facebook-login/", "UTF-8")
+ "&client_secret=xxxxxxx"
+ "&code=" + code;
URL u = new URL(g);
URLConnection c = u.openConnection();
BufferedReader in = new BufferedReader(new InputStreamReader(c.getInputStream()));
然而,在安装java 7并运行相同的代码后,我们得到了这个:
java.lang.NoClassDefFoundError:sun.net.www.protocol.http.HttpURLConnection
java.lang.NoClassDefFoundError: sun.net.www.protocol.http.HttpURLConnection
at sun.net.www.protocol.https.HttpsURLConnectionImpl.<init>(HttpsURLConnectionImpl.java:86)
at sun.net.www.protocol.https.Handler.openConnection(Handler.java:62)
at sun.net.www.protocol.https.Handler.openConnection(Handler.java:57)
at java.net.URL.openConnection(URL.java:971)
at tipping.FacebookLogin.processFacebookLogin(FacebookLogin.java:39)
at tipping.FacebookLoginCallbackServlet.service(FacebookLoginCallbackServlet.java:60)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:91)
.....
第39行是:URLConnection c = u.openConnection();
显而易见的想法是,也许我们应该使用HttpsURLConnection,但另一方面,我们因为不使用它而得到ClassNotFoundException并不是真的有意义,而且像这样的重大改变肯定会是记录。我搜索过谷歌并且找不到与此事有关的任何内容。
感谢您的帮助!
答案 0 :(得分:-2)
尝试使用java.net.URLConnection作为导入。