【问题标题】:App Engine Deployment Failed: Process Handler Exception - Non Zero Exit [2]App Engine 部署失败:进程处理程序异常 - 非零退出 [2]
【发布时间】:2020-11-19 20:33:25
【问题描述】:

我正在尝试在 Google App Engine 上部署 Spring Boot Java 11 项目。

在运行 mvn appengine:deploy 时出现以下错误:-

[INFO] GCLOUD: ERROR: (gcloud.app.deploy) argument --version/-v: Bad value [1.0]: May only contain lowercase letters, digits, and hyphens. Must begin and end with a letter or digit. Must not exceed 63 characters.

[ERROR] Failed to execute goal com.google.cloud.tools:appengine-maven-plugin:2.2.0:deploy (default-cli) on project demo: App Engine application deployment failed: com.google.cloud.tools.appengine.operations.clo
udsdk.process.ProcessHandlerException: com.google.cloud.tools.appengine.AppEngineException: Non zero exit: 2 -> [Help 1]

我的 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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.13.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.example</groupId>
    <artifactId>demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>war</packaging>
    <name>demo</name>
    <description>Demo project for Spring Boot</description>

    <properties>
<!--        <java.version>1.8</java.version>-->
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <java.version>11</java.version>
        <appengine.maven.plugin>2.2.0</appengine.maven.plugin>
        <maven.compiler.source>11</maven.compiler.source>
        <maven.compiler.target>11</maven.compiler.target>
    </properties>

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

        <dependency>
            <groupId>org.postgresql</groupId>
            <artifactId>postgresql</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.9.2</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.9.2</version>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.12</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.mindrot</groupId>
            <artifactId>jbcrypt</artifactId>
            <version>0.3m</version>
        </dependency>
        <dependency>
            <groupId>com.vladmihalcea</groupId>
            <artifactId>hibernate-types-52</artifactId>
            <version>2.9.11</version>
        </dependency>
    </dependencies>

    <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.3.0</version>-->
                <version>${appengine.maven.plugin}</version>
                <configuration>
                    <deploy.projectId>[project-id]</deploy.projectId>
                    <deploy.version>1.0</deploy.version>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.19.1</version>
            </plugin>
        </plugins>
    </build>

</project>

我搜索了很多地方,发现Version Error when building Web App。但未能得出解决方案。如果可能,请帮帮我。

谢谢。

【问题讨论】:

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


    【解决方案1】:

    我查看了此document,据我了解,这与&lt;deploy.version&gt;1.0&lt;/deploy.version&gt; 有关。这个插件的配置标签会指向插件的version参数。

    虽然文档中没有提到它,但错误很清楚地说明了那个点“。”不是版本值的有效字符。只允许使用连字符。

    文档说如果你不指定这个参数,它会自动生成,所以可能就可以删除它了。

    希望对你有帮助!

    更新:

    在这种特殊情况下,删除标签 &lt;deploy.version&gt; 并不成功。但是,它使用值1。感谢@AyushSurana 的更新!

    【讨论】:

    • 感谢您的回答。当我完全删除它时,它给了我一个错误。但是当我刚刚删除 .0 并将版本保留为 1 时。它起作用了。您能否编辑您的答案,以便我将其标记为正确答案。再次感谢您的帮助。
    • 我认为这可能是由于您的解决方案的其他细节。我已将此添加到答案中。最重要的是你能够解决它。编码快乐!
    猜你喜欢
    • 2020-06-05
    • 1970-01-01
    • 2013-03-03
    • 1970-01-01
    • 2017-11-19
    • 2010-10-10
    • 2015-11-28
    • 2014-10-09
    • 1970-01-01
    相关资源
    最近更新 更多