我已经创建了一个可以很好地部署到我的 GAE 实例的 Spring MVC 项目。现在我正在努力做到这一点,这样我就可以使用 IntelliJ 将它部署到 flex 环境中,但运气不好。
我的项目结构如下:
\src
\main
\appengine
app.yaml
\java
normal java project files
\resources
property files
当我在 IntelliJ 中创建“Google App Engine 部署”的新运行配置时,设置/环境始终是“App Engine 标准环境”。我似乎无法使它成为灵活环境的一部分。
我当前的 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 等构建的)并且您的工件设置不足。
要使您的目标工件可灵活部署到 App Engine,您需要确保设置了非分解工件(如果您的项目有嵌入式服务器,则为 war 或 jar):
- 打开模块设置:右键单击项目的根目录 -> 模块设置
- 点击左侧的“工件”
- 检查您列出的工件类型。
- 如果它只是一场爆炸式 war ,那么尝试创建一个新的 war (非爆炸式)工件 - 选择 Web 应用程序存档,然后选择您的模块
- 保存它,然后重新检查您的部署运行配置
关于java - 如何在 Google App Engine Flex 上获取 intelliJ Java 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43073707/