【问题标题】:Google AppEngine dev app server won't run on localhostGoogle AppEngine 开发应用服务器不会在本地主机上运行
【发布时间】:2015-01-28 17:38:33
【问题描述】:

我使用的是 Eclipse Java EE,当我在 localhost:8080 上编译和运行我的 Google AppEngine 项目时,浏览器没有给出任何正确的输出,但是当我使用 127.0.0.1:8080 时,我的程序只在浏览器上运行美好的。但是,当我将我的应用程序部署到 google appspot 时,localhost:8080 将更新并且运行良好(仅适用于我部署到 apppot 的实例)。

为什么localhost:8080不会正确更新而127.0.0.1:8080会正确更新?

我不能总是使用127.0.0.1:8080 insted localhost,因为当我尝试获取_ah/api/explorer 时,127.0.0.1:8080/_ah/api/explorer 将重定向到 google api 资源管理器(而不是我的 api 资源管理器)。

我应该怎么做才能做到这一点?

【问题讨论】:

  • 可能是 IPv4 与 IPv6 的问题。您的/etc/hosts 文件是否包含localhost 的 IPv6 条目?
  • 不,我猜不是,l1>> 127.0.0.1 localhost sandbox.dev l2>> 127.0.0.1 localhost 这是我最近添加的两个条目,它们也没有任何好处。

标签: eclipse google-app-engine localhost google-cloud-endpoints dev-appserver


【解决方案1】:

使用参数:

--address=...

用于服务器的主机地址。您可能需要设置此项以便能够从网络上的另一台计算机访问开发服务器。地址 0.0.0.0 允许本地主机访问和主机名访问。默认是本地主机。

更多关于这个here

【讨论】:

  • 我觉得和版本有关,但是我不得不使用--host=0.0.0.0,反正你把我丢了!谢谢
【解决方案2】:

我会将此作为评论添加到已接受的答案中,但我还没有足够的声望点。

上面的答案是 100% 正确的,但是以标志开头的替代方法是编辑 pom.xml。靠近我的底部是这个。我不得不取消注释“地址”行并且......魔术......http://localhost:8080/再次开始工作。现在我只希望我能回到那三个小时。 :D

<plugin>
    <groupId>com.google.appengine</groupId>
    <artifactId>appengine-maven-plugin</artifactId>
    {snip}
    <configuration>
        {snip}
        <!-- Comment in the below snippet to bind to all -->
        <!-- IPs instead of just localhost -->
        <address>0.0.0.0</address>
        <port>8080</port>
        {snip}
     </configuration>
 </plugin>

这是我找到原件的地方。滚动到最底部:

https://github.com/GoogleCloudPlatform/appengine-endpoints-helloendpoints-java-maven/blob/master/pom.xml

【讨论】:

    猜你喜欢
    • 2014-10-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-20
    • 2018-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-09
    相关资源
    最近更新 更多