如何在 Google App Engine Flex 上获取 intelliJ Java 项目
How to get intelliJ Java project on Google App Engine Flex
我创建了一个 Spring MVC 项目,可以很好地部署到我的 GAE 实例。现在我正在努力做到这一点,这样我就可以使用 IntelliJ 将它部署到 flex 环境中,但运气不好。
我的项目结构如下:
\src
\main
\appengine
app.yaml
\java
normal java project files
\resources
property files
当我在 IntelliJ 中创建一个新的 运行 配置 "Google App Engine Deployment" 设置/环境总是 "App Engine Standard Environment." 我似乎无法使它成为灵活的一部分环境。
我现在的 app.yaml:
runtime: java
env: flex
handlers:
- url: /.*
script: this field is required, but ignored
runtime_config: # Optional
jdk: openjdk8
server: jetty9
manual_scaling:
instances: 1
我已经尝试复制我可以从 github
上的示例项目中找到的所有设置
这是我的部署的屏幕截图
您的项目中是否也恰好有一个appengine-web.xml
配置文件?如果是这样,这将取代任何弹性配置,并且插件将采用 App Engine 标准部署。
如果是这样,请尝试将其删除(或重命名),然后重新创建部署 运行 配置。此时它应该被标记为以 App Engine 柔性环境为目标。
如果您没有此配置文件(或者如果重命名它没有帮助,或者如果您的部署源列表不包含任何 war/jar 工件),那么您可能有本机 IntelliJ 项目(不是使用 Maven / Gradle 等构建的)并且您的 Artifact 设置不足。
为了使您的目标工件可灵活部署到 App Engine,您需要确保设置了非分解工件(如果您的项目有嵌入式服务器,则可以是 war 或 jar):
- 打开模块设置:右键单击项目的根目录 -> 模块设置
- 点击左边的'Artifacts'
- 检查您列出的工件类型。
- 如果它只是一个分解的 war 然后尝试创建一个新的 war(非分解的)工件 - select Web 应用程序存档,然后选择你的模块
- 保存此然后重新检查您的部署 运行 配置
我相信您已经这样做了,但也许您只是错过了一些简单的事情:灵活的环境需要一个特殊的 IntelliJ 插件,即 Cloud Tools for IntelliJ (installation quickstart instructions)。
我创建了一个 Spring MVC 项目,可以很好地部署到我的 GAE 实例。现在我正在努力做到这一点,这样我就可以使用 IntelliJ 将它部署到 flex 环境中,但运气不好。
我的项目结构如下:
\src
\main
\appengine
app.yaml
\java
normal java project files
\resources
property files
当我在 IntelliJ 中创建一个新的 运行 配置 "Google App Engine Deployment" 设置/环境总是 "App Engine Standard Environment." 我似乎无法使它成为灵活的一部分环境。
我现在的 app.yaml:
runtime: java
env: flex
handlers:
- url: /.*
script: this field is required, but ignored
runtime_config: # Optional
jdk: openjdk8
server: jetty9
manual_scaling:
instances: 1
我已经尝试复制我可以从 github
上的示例项目中找到的所有设置这是我的部署的屏幕截图
您的项目中是否也恰好有一个appengine-web.xml
配置文件?如果是这样,这将取代任何弹性配置,并且插件将采用 App Engine 标准部署。
如果是这样,请尝试将其删除(或重命名),然后重新创建部署 运行 配置。此时它应该被标记为以 App Engine 柔性环境为目标。
如果您没有此配置文件(或者如果重命名它没有帮助,或者如果您的部署源列表不包含任何 war/jar 工件),那么您可能有本机 IntelliJ 项目(不是使用 Maven / Gradle 等构建的)并且您的 Artifact 设置不足。
为了使您的目标工件可灵活部署到 App Engine,您需要确保设置了非分解工件(如果您的项目有嵌入式服务器,则可以是 war 或 jar):
- 打开模块设置:右键单击项目的根目录 -> 模块设置
- 点击左边的'Artifacts'
- 检查您列出的工件类型。
- 如果它只是一个分解的 war 然后尝试创建一个新的 war(非分解的)工件 - select Web 应用程序存档,然后选择你的模块
- 保存此然后重新检查您的部署 运行 配置
我相信您已经这样做了,但也许您只是错过了一些简单的事情:灵活的环境需要一个特殊的 IntelliJ 插件,即 Cloud Tools for IntelliJ (installation quickstart instructions)。