java - 如何在 Google App Engine Flex 上获取 intelliJ Java 项目

标签 java google-app-engine intellij-idea app-engine-flexible

我已经创建了一个可以很好地部署到我的 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 上的示例项目中找到的所有设置。

这是我的部署截图 enter image description here

最佳答案

你的项目中是否也碰巧有一个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/

相关文章:

java - 使用 Apache POI Excel 写入特定单元格位置

java - 使用 entityManager.persist(Object) 插入 ... 值;

python - 如何将图片从 url 上传到 Blobstore?

java - servlet java.lang.NoClassDefFoundError : org/apache/commons/lang/Validate 中未捕获的异常

java - GWT 应用程序编译问题 - 错误,状态 503

java - 使用动态规划的斐波那契数列

java - 在 weblogic 12c 上运行的 REST 项目 (netbeans) 上,EntityManager 始终为 null

Python:安装 2.5.5?

java - 使用 Intellij Idea 进行远程调试

intellij-idea - 复制,然后注释掉 IntelliJ 中的一行