首先运行
尝试运行Apache Beam(版本2.0.0)的WordCount示例$ mvn archetype:generate \
-DarchetypeGroupId=org.apache.beam \
-DarchetypeArtifactId=beam-sdks-java-maven-archetypes-examples \
-DarchetypeVersion=2.0.0 \
-DgroupId=org.example \
-DartifactId=word-count-beam \
-Dversion="0.1" \
-Dpackage=org.apache.beam.examples \
-DinteractiveMode=false
然后运行
$ mvn compile exec:java -Dexec.mainClass=org.apache.beam.examples.WordCount -Dexec.args="--inputFile=pom.xml --output=counts" -Pdirect-runner
并收到以下错误
[错误]无法在项目word-count-beam上执行目标org.codehaus.mojo:exec-maven-plugin:1.4.0:java(default-cli):执行时出现异常 Java类。 null:InvocationTargetException:java.lang.IllegalStateException:U 无法找到d - >的注册商。 [帮助1]
但是,如果我在2017年3月(Beam v0.6.0)运行下载和构建的相同项目,一切正常。我只是想知道Beam版本的更新导致了这个错误。
答案 0 :(得分:2)
由于 TextIO#from(" path_to_file")方法不支持Windows文件系统路径,因此发生此错误。 例如,以下代码抛出 IllegalStateException :
TextIO.read().from("d:\\file.txt") // also "file:\\D:\\file.txt" throw exc
线程中的异常" main" org.apache.beam.sdk.Pipeline $ PipelineExecutionException: java.lang.IllegalStateException:无法找到d
的注册商
我希望Apache Beam团队能够在不久的将来修复它......
答案 1 :(得分:0)
此错误似乎表明您正在尝试使用无效方案访问文件。 它来自这里:FileSystems.java
这可能是您操作系统的问题。
您能提供有关您的操作系统和开发环境的信息吗?
编辑: 既然你正在使用Windows,正如MeetJoeBlack所解释的那样 - 我的第一个假设可能是正确的。
我建议您尝试使用此Maven Docker Image
通过Docker运行代码你可以在那里阅读howto - 如果你需要更多帮助,请点击我。