我正在尝试从此处https://cloud.google.com/dataflow/docs/quickstarts/quickstart-java-maven进行GCP Cloud Dataflow的“使用Java快速入门”,并且在“在本地运行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”。您必须以:或:[:]:格式指定有效的生命周期阶段或目标。可用的生命周期阶段包括:验证,初始化,生成源,流程源,生成资源,流程资源,编译,流程类,生成测试源,流程测试源,生成测试资源,流程测试资源,测试编译,过程测试类,测试,准备打包,打包,集成前测试,集成测试,集成后测试,验证,安装,部署,预清洁,清洁,清理后,站点前,站点,站点后,站点部署。 -> [帮助1]
当我添加-e时,我还将获得堆栈跟踪:
在org.apache.maven.lifecycle.internal.DefaultLifecycleExecutionPlanCalculator.calculateLifecycleMappings中的(DefaultLifecycleExecutionPlanCalculator.java:248) 在org.apache.maven.lifecycle.internal.DefaultLifecycleExecutionPlanCalculator.calculateMojoExecutions(DefaultLifecycleExecutionPlanCalculator.java:217) 在org.apache.maven.lifecycle.internal.DefaultLifecycleExecutionPlanCalculator.calculateExecutionPlan(DefaultLifecycleExecutionPlanCalculator.java:126)处 在org.apache.maven.lifecycle.internal.DefaultLifecycleExecutionPlanCalculator.calculateExecutionPlan(DefaultLifecycleExecutionPlanCalculator.java:144) 在org.apache.maven.lifecycle.internal.builder.BuilderCommon.resolveBuildPlan(BuilderCommon.java:97) 在org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:111) 在org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81) 在org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:56) 在org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128) 在org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:305) 在org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:192) 在org.apache.maven.DefaultMaven.execute(DefaultMaven.java:105) 在org.apache.maven.cli.MavenCli.execute(MavenCli.java:956) 在org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288) 在org.apache.maven.cli.MavenCli.main(MavenCli.java:192) 在jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处 在jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在java.lang.reflect.Method.invoke(Method.java:567) 在org.codehaus.plexus.classworlds.launcher.Launcher.launch增强(Launcher.java:282) 在org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:225) 在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添加到了我的PATH。
有什么想法吗?
答案 0 :(得分:0)
我看到您正在使用⊥
,而JDK-13.0.1
当前支持Apache Beam
。以下是Java和Maven的先决条件。
完成Java和Maven的安装后,您可以使用以下命令获取代码
Java 8
要在本地运行代码
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
答案 1 :(得分:0)
如果您使用的是 powershell,则使用“-D exec.mainClass”代替“-Dexec.mainClass”