为什么在从 appcfg mvn 迁移到 gcloud 后出现错误 Maven source deployment is not supported for Java 8 GAE project

why I get error Maven source deployment is not supported for Java 8 GAE project after migration from appcfg mvn to gcloud

我运行这个命令

gcloud 应用部署

并得到这个错误

[错误] 在当前项目和插件组 [org.apache.maven.plugins、org.codehaus.mojo] 中未找到前缀 'gcloud' 的插件 [本地 ([=24) =]/.m2/repository), central (https://repo.maven.apache.org/maven2)] -> [求助1] [错误] [错误] 要查看错误的完整堆栈跟踪,请使用 -e 开关重新 运行 Maven。 [ERROR] Re-运行 Maven 使用 -X 开关启用完整的调试日志记录。 [错误] [错误] 有关错误和可能的解决方案的更多信息,请阅读以下文章: [错误] [帮助 1] http://cwiki.apache.org/confluence/display/MAVEN/NoPluginFoundForPrefixException

这是我在 pom.xml 文件中的插件

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <version>2.5.1</version>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <version>2.3</version>
            <configuration>
                <archiveClasses>true</archiveClasses>
                <webResources>
                    <!-- in order to interpolate version from pom into appengine-web.xml -->
                    <resource>
                        <directory>${basedir}/src/main/webapp/WEB-INF</directory>
                        <filtering>true</filtering>
                        <targetPath>WEB-INF</targetPath>
                    </resource>
                </webResources>
            </configuration>
        </plugin>

        <plugin>
            <groupId>com.google.appengine</groupId>
            <artifactId>appengine-maven-plugin</artifactId>
            <version>${appengine.target.version}</version>
        </plugin>
    </plugins>
</build>

您收到该错误的原因是您在 pom.xml 中缺少 gcloud 依赖项,请尝试向其中添加以下内容:

<plugin>
   <groupId>com.google.cloud.tools</groupId>
   <artifactId>appengine-maven-plugin</artifactId>
   <version>2.2.0</version>
</plugin>

关于使用 maven 部署到 appengine 的更多信息,您可以查看此 documentation

迁移后有类似问题,pom 没问题,以下命令有帮助。

mvn clean package install -P dev appengine:deploy -Dapp.deploy.version=app_version

文档 here and here 很有帮助。

以下对我有用:

mvn package appengine:deploy