繁体   English   中英

运行 WordCount 示例的 GCP 数据流快速入门错误:未知生命周期阶段“.mainClass=org.apache.beam.examples.WordCount”

[英]GCP Dataflow Quickstart error running WordCount example: Unknown lifecycle phase “.mainClass=org.apache.beam.examples.WordCount”

我正在尝试从此处https://cloud.google.com/dataflow/docs/quickstarts/quickstart-java-maven通过“使用 Java 快速入门”的 GCP 云数据流 go 并在“本地运行 WordCount”中收到错误“ 步。

在 PowerShell 提示符下运行它

PS C:\apache-maven-3.6.2\word-count-beam> mvn compile exec:java -Dexec.mainClass=org.apache.beam.examples.WordCount -Dexec.args="--output=.\output\"

我收到一条 BUILD FAILURE 消息:

[错误] 未知的生命周期阶段“.mainClass=org.apache.beam.examples.WordCount”。 您必须以以下格式指定有效的生命周期阶段或目标:或:[:]:。 可用的生命周期阶段有:验证、初始化、生成源、流程源、生成资源、流程资源、编译、流程类、生成测试源、流程测试源、生成测试资源、流程-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy, pre-clean, clean ,清理后,站点前,站点,站点后,站点部署。 -> [帮助 1]

当我添加 -e 时,我还得到了堆栈跟踪:

at org.apache.maven.lifecycle.internal.DefaultLifecycleExecutionPlanCalculator.calculateLifecycleMappings (DefaultLifecycleExecutionPlanCalculator.java:248) at org.apache.maven.lifecycle.internal.DefaultLifecycleExecutionPlanCalculator.calculateMojoExecutions (DefaultLifecycleExecutionPlanCalculator.java:217) at org.apache.maven.lifecycle .internal.DefaultLifecycleExecutionPlanCalculator.calculateExecutionPlan (DefaultLifecycleExecutionPlanCalculator.java:126) at org.apache.maven.lifecycle.internal.DefaultLifecycleExecutionPlanCalculator.calculateExecutionPlan (DefaultLifecycleExecutionPlanCalculator.java:144) at org.ZB6EFD606D118D0F62066E31419F F04CCZ.maven.lifecycle.internal.builder.BuilderCommon.resolveBuildPlan (BuilderCommon.java:97) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:111) at org.apache.maven.lifecycle. internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81) at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56) at org.apache.maven.lifecycle.internal.LifecycleStarter.在 org.apache.Z402C5D9AF6B43711EA070BEE 处执行 (LifecycleStarter.java:128) 5170F74DZ.DefaultMaven.doExecute (DefaultMaven.java:305) at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192) at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105) at org.apache .maven.cli.MavenCli.execute (MavenCli.java:956) at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:288) at org.apache.maven.cli.MavenCli.main (MavenCli.java :192) 在 jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method) 在 jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.Z93F725A0742 3FE1C889F448B33D21F46Z:62) at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke (Method.java:567) at org.codehaus.plexus.classworlds.launcher.Launcher .launchEnhanced (Launcher.java:282) at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406 ) 在 org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)

我正在使用 jdk-13.0.1 和 maven 3.6.2 并设置了 JAVA_HOME 并将 JAVA_HOME\Bin 和 Maven 添加到我的路径中。

知道出了什么问题吗?

我看到您使用的是JDK-13.0.1Apache Beam目前支持Java 8 以下是 Java 和 Maven 的先决条件。

  1. 下载并安装 Java 开发工具包 (JDK) 版本 8。验证 JAVA_HOME 环境变量是否已设置并指向您的 JDK 安装。
  2. 按照适用于您的特定操作系统的 Maven 安装指南,下载并安装 Apache Maven。

完成 Java 和 Maven 的安装后,您可以使用以下命令获取代码

mvn archetype:generate \
      -DarchetypeGroupId=org.apache.beam \
      -DarchetypeArtifactId=beam-sdks-java-maven-archetypes-examples \
      -DarchetypeVersion=2.16.0 \
      -DgroupId=org.example \
      -DartifactId=word-count-beam \
      -Dversion="0.1" \
      -Dpackage=org.apache.beam.examples \
      -DinteractiveMode=false

在本地运行代码

cd word-count-beam/

mvn compile exec:java \
      -Dexec.mainClass=org.apache.beam.examples.WordCount \
      -Dexec.args="--output=./output/"

如果您使用的是 powershell,则使用“-D exec.mainClass”代替“-Dexec.mainClass”

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM