【问题标题】:Packaging multiple services into a war file for Java 8 in GAE在 GAE 中将多个服务打包到 Java 8 的 war 文件中
【发布时间】:2018-02-15 10:53:06
【问题描述】:

在 Google App Engine (GAE) 中,您可以将多个服务打包到一个展开的 WAR 文件(也称为 EAR 文件)中,但前提是您的应用在 Java 7 下运行。这不适用于 Java 8:

使用服务的 App Engine 应用程序被组织为 解压的 Java Enterprise Archive (EAR) 目录结构。这 顶级 EAR 目录包含一个 META-INF 子目录和一个 应用程序中每个服务的单独目录。请注意,EAR 是 仅支持 Java 7 运行时,不支持 Java 8 运行时。

我在 GAE 文档中找不到任何说明您如何将多个服务打包到单个 WAR 文件中的内容。

https://cloud.google.com/appengine/docs/standard/java/configuration-files

我意识到我可以为每个服务创建一个单独的 WAR 文件,但是 Google 提供的用于测试您的应用程序的本地开发服务器只接受一个 WAR 文件。我可以使用不同的端口运行开发服务器的多个实例,但这似乎有点乱。

【问题讨论】:

  • Cloud SDK 提供的 devappserver 确实支持运行多个服务,这由 Cloud Tools for Eclipse 支持。但是,您必须单独部署服务。

标签: google-app-engine


【解决方案1】:

Google 确实有解决方案,但他们记录在最隐蔽的位置:

https://cloud.google.com/appengine/docs/standard/java/tools/migrate-gradle

这很容易被忽略,因为文档的标题是:

迁移到基于 Cloud SDK 的 Gradle 插件

如果您是从头开始构建应用程序,则无需迁移任何内容,并且可以轻松跳过此文档。它确实应该记录在:

https://cloud.google.com/appengine/docs/standard/java/tools/gradle

可以在以下位置找到一些附加说明:

https://github.com/GoogleCloudPlatform/app-gradle-plugin/blob/master/USER_GUIDE.md

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-17
    • 1970-01-01
    • 1970-01-01
    • 2020-03-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多