【问题标题】:Deployment of Spring Boot Project to Google App-Engine fails with Maven使用 Maven 将 Spring Boot 项目部署到 Google App-Engine 失败
【发布时间】:2020-03-04 09:26:20
【问题描述】:

我一直在尝试将我的 Spring-Boot 应用程序部署到 Google appengine。我正在使用 SDK 和 maven 插件。

Spring-Boot-Application 在我的本地主机上完美运行,但是当我尝试使用 mvn package appengine:deploy部署它时,我收到以下错误消息:

BUILD FAILURE
Failed to execute goal com.google.cloud.tools:appengine-maven-plugin:2.2.0:deploy (default-cli) on project TestProject: App Engine application deployment failed: com.google.cloud.tools.appengine.operations.cloudsdk.process.ProcessHandlerException: com.google.cloud.tools.appengine.AppEngineException: Non zero exit: 1 -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal com.google.cloud.tools:appengine-maven-plugin:2.2.0:deploy (default-cli) on project TestProject: App Engine application deployment failed
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:215)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
    ...

有趣的是,在尝试部署到 Microsoft Azure 时会发生类似的错误。

我遵循了谷歌的官方教程 (https://codelabs.developers.google.com/codelabs/cloud-app-engine-springboot/) 并尝试了其他一些教程。似乎没有什么可以解决我的问题。

我的 pom.xml 文件:

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">  
  <modelVersion>4.0.0</modelVersion>  
  <groupId>de.myname</groupId>  
  <artifactId>TestProject</artifactId>  
  <version>1.0-SNAPSHOT</version>  
  <parent> 
    <groupId>org.springframework.boot</groupId>  
    <artifactId>spring-boot-starter-parent</artifactId>  
    <version>2.1.9.RELEASE</version> 
  </parent>  

  <dependencies> 
    <dependency> 
      <groupId>org.springframework.boot</groupId>  
      <artifactId>spring-boot-starter-web</artifactId> 
    </dependency> 
  </dependencies>  


  <properties> 
    <java.version>1.8</java.version> 
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>  


  <build> 
    <plugins> 

      <plugin> 
        <groupId>org.springframework.boot</groupId>  
        <artifactId>spring-boot-maven-plugin</artifactId> 
      </plugin>  

      <plugin>
        <groupId>com.google.cloud.tools</groupId>
        <artifactId>appengine-maven-plugin</artifactId>
        <version>2.2.0</version>
        <configuration>
          <version>1</version>
          <projectId>GCLOUD_CONFIG</projectId>
        </configuration>
      </plugin>
    </plugins> 
  </build> 
</project>

我的 app.yaml 如下所示:

runtime: java
env: flex

handlers:
  - url: /.*
    script: this field is required, but ignored

【问题讨论】:

    标签: spring maven spring-boot google-app-engine google-cloud-platform


    【解决方案1】:

    您提出的问题实际上取决于您正在处理的 Spring Boot 应用程序的大小和范围。但是,我已按照您的链接提供的部署步骤进行操作。以下是我的发现:

    根据您的错误输出,您将收到 MojoExecutionException。这个错误不是Maven本身产生的,而是插件造成的。插件触发此错误消息以表明您从 pom.xml 文件中检索到的信息的配置存在问题。如果可能的话,您可能想通过更新所有插件来调查这一点。 https://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

    您需要确保正确配置 pom.xml 文件。也许您缺少项目运行所需的某些依赖项。 您正在部署应用程序的 Java 版本应该与您的 pom.xml 文件中列出的版本相匹配。 Unable to Build using MAVEN with ERROR - Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile

    【讨论】:

      猜你喜欢
      • 2013-11-06
      • 2019-03-16
      • 1970-01-01
      • 2020-01-19
      • 1970-01-01
      • 2021-09-25
      • 1970-01-01
      • 2021-09-24
      • 2015-10-27
      相关资源
      最近更新 更多