首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >当将一个项目复制到另一台计算机时,服务器错误拒绝连接

当将一个项目复制到另一台计算机时,服务器错误拒绝连接
EN

Stack Overflow用户
提问于 2017-03-07 07:30:25
回答 1查看 253关注 0票数 1

我有一个很奇怪的问题:

  • 我已经用Intellij创建了一个使用代号为One插件的项目。
  • 在这个项目中,我使用Oauth2身份验证来访问Google,按照代码名一个站点的这些说明。https://www.codenameone.com/google-login.html
  • 我的代码在我的计算机上运行良好(Windows 10)。
  • 如果我将该代码复制到另一台计算机(Windows 10或OS )并尝试访问Google工作表,则会出现“服务器拒绝连接”错误。
  • 具体来说,在单击Google对话框中的“允许”按钮后,我会得到错误信息。
  • 我在几台电脑上试过这个。
  • 无论我使用的是哪个网络/ISP,当我试图访问Google表时,我都会收到错误。

与错误相关的堆栈跟踪如下所示:

代码语言:javascript
运行
复制
java.lang.Throwable: Connection refused by server
at javafx.scene.web.WebEngine$LoadWorker.describeError(WebEngine.java:1461)
at javafx.scene.web.WebEngine$LoadWorker.dispatchLoadEvent(WebEngine.java:1400)
at javafx.scene.web.WebEngine$LoadWorker.access$1200(WebEngine.java:1278)
at javafx.scene.web.WebEngine$PageLoadListener.dispatchLoadEvent(WebEngine.java:1265)
at com.sun.webkit.WebPage.fireLoadEvent(WebPage.java:2443)
at com.sun.webkit.WebPage.fwkFireLoadEvent(WebPage.java:2287)
at com.sun.webkit.network.URLLoader.twkDidFail(Native Method)
at com.sun.webkit.network.URLLoader.notifyDidFail(URLLoader.java:883)
at com.sun.webkit.network.URLLoader.lambda$didFail$102(URLLoader.java:866)
at com.sun.javafx.application.PlatformImpl.lambda$null$173(PlatformImpl.java:295)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$174(PlatformImpl.java:294)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)

Process finished with exit code 0

生成错误时正在执行的代码是:

代码语言:javascript
运行
复制
    public void oauth2GoogleLogin()
    {

    String clientId = "xxxxxxxxxxxxxxxxxxx.apps.googleusercontent.com";
    String redirectURI = "http://localhost:8080";
    String clientSecret = "xxxxxxxxxxxxxxxxxxxxxxxx";
    Login gc = GoogleConnect.getInstance();
    gc.setClientId(clientId);
    gc.setRedirectURI(redirectURI);
    gc.setClientSecret(clientSecret);
    gc.setScope("https://www.googleapis.com/auth/spreadsheets");
    gc.setCallback(new LoginCallback() { 
        @Override
        public void loginFailed(String errorMessage) {
            super.loginFailed(errorMessage);
        }
        @Override
        public void loginSuccessful() {
            super.loginSuccessful();
            System.out.println("Logged in.");
            token = gc.getAccessToken().getToken();
            //saveData();
        }
    });

    if(!gc.isUserLoggedIn()){
        gc.doLogin();
    }else{
        ....some code to do stuff...
    }
}

正如我已经说过的,这段代码在我编写它的计算机上工作得很好,但是如果我将Intellij/Codename一个项目传输到另一台计算机上,它就不再工作了。

在我看来,问题可能在于回调,拒绝连接的服务器可能是通过http://localhost:8080访问的自己的计算机。但我不确定。有人能指点我吗?

EN

回答 1

Stack Overflow用户

发布于 2017-03-18 06:11:16

如果这两台机器都不再工作,这就更有道理了,JavaFX最新版本的web浏览器的回归破坏了Google OAuth2进程。

不幸的是,这是个大问题。我们无法修复JavaFX,如果他们推出一个坏的更新,我们将陷入困境。

解决方法可能是尝试VM的旧版本,例如1.8.67或其他什么。

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

https://stackoverflow.com/questions/42642601

复制
相关文章

相似问题

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