Hello Luke,

I tried with "file:///C:/Users/ges/Workspace/word-count-beampom.xml" or
"C:/Users/ges/Workspace/word-count-beampom.xml" as input file as seen in
https://issues.apache.org/jira/browse/BEAM-2298, however both failed.

"file:///C:/Users/ges/Workspace/word-count-beampom.xml" failed with Illegal
char <:> at index 4
"C:/Users/ges/Workspace/word-count-beampom.xml" failed with "Unable to find
registrar for c"

Any ideas?

Thanks,
Silas Ge

2017-05-22 23:28 GMT+08:00 Lukasz Cwik <lc...@google.com>:

> This is a known problem with how the local file system is being interacted
> with as is evident by the similar test failures when running the Apache
> Beam unit tests on Windows:
> https://issues.apache.org/jira/browse/BEAM-2299
>
> I would suggest trying to use "file:///c:/my/path/to/file.txt"
>
> There is a general proposal to change how we work with resource paths:
> https://issues.apache.org/jira/browse/BEAM-2283
>
>
>
> On Sun, May 21, 2017 at 6:03 PM, Shuangyin Ge <gosoy...@gmail.com> wrote:
>
>> Hello team,
>>
>> Not sure if any can share some lights. I am getting "Unable to find
>> registrar for c" error while running
>>
>> $ mvn compile exec:java -Dexec.mainClass=org.apache.beam.examples.WordCount \
>>      -Dexec.args="--inputFile=pom.xml --output=counts" -Pdirect-runner
>>
>> following the Java Quickstart for Beam https://beam.apache.org/g
>> et-started/quickstart-java/
>>
>> Complete output is shown below:
>>
>> [INFO] Scanning for projects...
>> [WARNING]
>> [WARNING] Some problems were encountered while building the effective
>> model for org.example:word-count-beam:jar:0.1
>> [WARNING] 'build.plugins.plugin.version' for
>> org.apache.maven.plugins:maven-jar-plugin is missing. @ line 80, column
>> 15
>> [WARNING]
>> [WARNING] It is highly recommended to fix these problems because they
>> threaten the stability of your build.
>> [WARNING]
>> [WARNING] For this reason, future Maven versions might no longer support
>> building such malformed projects.
>> [WARNING]
>> [INFO]
>> [INFO] ------------------------------------------------------------
>> ------------
>> [INFO] Building word-count-beam 0.1
>> [INFO] ------------------------------------------------------------
>> ------------
>> [INFO]
>> [INFO] --- maven-resources-plugin:2.6:resources (default-resources) @
>> word-count-beam ---
>> [WARNING] Using platform encoding (Cp1252 actually) to copy filtered
>> resources, i.e. build is platform dependent!
>> [INFO] skip non existing resourceDirectory C:\Users\ges\Workspace\word-co
>> unt-beam\src\main\resources
>> [INFO]
>> [INFO] --- maven-compiler-plugin:3.5.1:compile (default-compile) @
>> word-count-beam ---
>> [INFO] Changes detected - recompiling the module!
>> [WARNING] File encoding has not been set, using platform encoding Cp1252,
>> i.e. build is platform dependent!
>> [INFO] Compiling 10 source files to C:\Users\ges\Workspace\word-co
>> unt-beam\target\classes
>> [INFO]
>> [INFO] --- exec-maven-plugin:1.4.0:java (default-cli) @ word-count-beam
>> ---
>> [WARNING]
>> java.lang.reflect.InvocationTargetException
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce
>> ssorImpl.java:62)
>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe
>> thodAccessorImpl.java:43)
>> at java.lang.reflect.Method.invoke(Method.java:498)
>> at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:293)
>> at java.lang.Thread.run(Thread.java:748)
>> Caused by: org.apache.beam.sdk.Pipeline$PipelineExecutionException:
>> java.lang.IllegalStateException: Unable to find registrar for c
>> at org.apache.beam.runners.direct.DirectRunner$DirectPipelineRe
>> sult.waitUntilFinish(DirectRunner.java:322)
>> at org.apache.beam.runners.direct.DirectRunner$DirectPipelineRe
>> sult.waitUntilFinish(DirectRunner.java:292)
>> at org.apache.beam.runners.direct.DirectRunner.run(DirectRunner.java:200)
>> at org.apache.beam.runners.direct.DirectRunner.run(DirectRunner.java:63)
>> at org.apache.beam.sdk.Pipeline.run(Pipeline.java:295)
>> at org.apache.beam.sdk.Pipeline.run(Pipeline.java:281)
>> at org.apache.beam.examples.WordCount.main(WordCount.java:184)
>> ... 6 more
>> Caused by: java.lang.IllegalStateException: Unable to find registrar for
>> c
>> at org.apache.beam.sdk.io.FileSystems.getFileSystemInternal(Fil
>> eSystems.java:447)
>> at org.apache.beam.sdk.io.FileSystems.match(FileSystems.java:111)
>> at org.apache.beam.sdk.io.FileSystems.matchResources(FileSystem
>> s.java:174)
>> at org.apache.beam.sdk.io.FileSystems.delete(FileSystems.java:321)
>> at org.apache.beam.sdk.io.FileBasedSink$Writer.cleanup(FileBase
>> dSink.java:905)
>> at org.apache.beam.sdk.io.WriteFiles$WriteShardedBundles.proces
>> sElement(WriteFiles.java:376)
>> [INFO] ------------------------------------------------------------
>> ------------
>> [INFO] BUILD FAILURE
>> [INFO] ------------------------------------------------------------
>> ------------
>> [INFO] Total time: 10.279 s
>> [INFO] Finished at: 2017-05-22T08:56:16+08:00
>> [INFO] Final Memory: 32M/450M
>> [INFO] ------------------------------------------------------------
>> ------------
>> [ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.4.0:java
>> (default-cli) on project word-count-beam: An exception occured while
>> executing the Java class. null: InvocationTargetException:
>> java.lang.IllegalStateException: Unable to find registrar for c -> [Help
>> 1]
>> [ERROR]
>> [ERROR] To see the full stack trace of the errors, re-run Maven with the
>> -e switch.
>> [ERROR] Re-run Maven using the -X switch to enable full debug logging.
>> [ERROR]
>> [ERROR] For more information about the errors and possible solutions,
>> please read the following articles:
>> [ERROR] [Help 1] http://cwiki.apache.org/con
>> fluence/display/MAVEN/MojoExecutionException
>>
>> Pom.xml is as below
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <!--
>> Licensed to the Apache Software Foundation (ASF) under one or more
>> contributor license agreements. See the NOTICE file distributed with
>> this work for additional information regarding copyright ownership.
>> The ASF licenses this file to You under the Apache License, Version 2.0
>> (the "License"); you may not use this file except in compliance with
>> the License. You may obtain a copy of the License at
>>
>> http://www.apache.org/licenses/LICENSE-2.0
>>
>> Unless required by applicable law or agreed to in writing, software
>> distributed under the License is distributed on an "AS IS" BASIS,
>> WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
>> See the License for the specific language governing permissions and
>> limitations under the License.
>> -->
>> <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
>> http://maven.apache.org/xsd/maven-4.0.0.xsd";>
>> <modelVersion>4.0.0</modelVersion>
>>
>> <groupId>org.example</groupId>
>> <artifactId>word-count-beam</artifactId>
>> <version>0.1</version>
>>
>> <packaging>jar</packaging>
>>
>> <properties>
>> <beam.version>2.0.0</beam.version>
>> <surefire-plugin.version>2.20</surefire-plugin.version>
>> </properties>
>>
>> <repositories>
>> <repository>
>> <id>apache.snapshots</id>
>> <name>Apache Development Snapshot Repository</name>
>> <url>https://repository.apache.org/content/repositories/snapshots/</url>
>> <releases>
>> <enabled>false</enabled>
>> </releases>
>> <snapshots>
>> <enabled>true</enabled>
>> </snapshots>
>> </repository>
>> </repositories>
>>
>> <build>
>> <plugins>
>> <plugin>
>> <groupId>org.apache.maven.plugins</groupId>
>> <artifactId>maven-compiler-plugin</artifactId>
>> <version>3.5.1</version>
>> <configuration>
>> <source>1.7</source>
>> <target>1.7</target>
>> </configuration>
>> </plugin>
>>
>> <plugin>
>> <groupId>org.apache.maven.plugins</groupId>
>> <artifactId>maven-surefire-plugin</artifactId>
>> <version>2.20</version>
>> <configuration>
>> <parallel>all</parallel>
>> <threadCount>4</threadCount>
>> <redirectTestOutputToFile>true</redirectTestOutputToFile>
>> </configuration>
>> <dependencies>
>> <dependency>
>> <groupId>org.apache.maven.surefire</groupId>
>> <artifactId>surefire-junit47</artifactId>
>> <version>2.20</version>
>> </dependency>
>> </dependencies>
>> </plugin>
>>
>> <!-- Ensure that the Maven jar plugin runs before the Maven
>> shade plugin by listing the plugin higher within the file. -->
>> <plugin>
>> <groupId>org.apache.maven.plugins</groupId>
>> <artifactId>maven-jar-plugin</artifactId>
>> </plugin>
>>
>> <!--
>> Configures `mvn package` to produce a bundled jar ("fat jar") for runners
>> that require this for job submission to a cluster.
>> -->
>> <plugin>
>> <groupId>org.apache.maven.plugins</groupId>
>> <artifactId>maven-shade-plugin</artifactId>
>> <version>3.0.0</version>
>> <executions>
>> <execution>
>> <phase>package</phase>
>> <goals>
>> <goal>shade</goal>
>> </goals>
>> <configuration>
>> <filters>
>> <filter>
>> <artifact>*:*</artifact>
>> <excludes>
>> <exclude>META-INF/LICENSE</exclude>
>> <exclude>META-INF/*.SF</exclude>
>> <exclude>META-INF/*.DSA</exclude>
>> <exclude>META-INF/*.RSA</exclude>
>> </excludes>
>> </filter>
>> </filters>
>> <transformers>
>> <transformer implementation="org.apache.maven.plugins.shade.resource.Serv
>> icesResourceTransformer"/>
>> </transformers>
>> </configuration>
>> </execution>
>> </executions>
>> </plugin>
>> </plugins>
>>
>> <pluginManagement>
>> <plugins>
>> <plugin>
>> <groupId>org.codehaus.mojo</groupId>
>> <artifactId>exec-maven-plugin</artifactId>
>> <version>1.4.0</version>
>> <configuration>
>> <cleanupDaemonThreads>false</cleanupDaemonThreads>
>> </configuration>
>> </plugin>
>> </plugins>
>> </pluginManagement>
>> </build>
>>
>> <profiles>
>> <profile>
>> <id>direct-runner</id>
>> <activation>
>> <activeByDefault>true</activeByDefault>
>> </activation>
>> <!-- Makes the DirectRunner available when running a pipeline. -->
>> <dependencies>
>> <dependency>
>> <groupId>org.apache.beam</groupId>
>> <artifactId>beam-runners-direct-java</artifactId>
>> <version>2.0.0</version>
>> <scope>runtime</scope>
>> </dependency>
>> </dependencies>
>> </profile>
>>
>> <profile>
>> <id>apex-runner</id>
>> <!-- Makes the ApexRunner available when running a pipeline. -->
>> <dependencies>
>> <dependency>
>> <groupId>org.apache.beam</groupId>
>> <artifactId>beam-runners-apex</artifactId>
>> <version>${beam.version}</version>
>> <scope>runtime</scope>
>> </dependency>
>> <!--
>> Apex depends on httpclient version 4.3.5, project has a transitive
>> dependency to httpclient 4.0.1 from
>> google-http-client. Apex dependency version being specified explicitly so
>> that it gets picked up. This
>> can be removed when the project no longer has a dependency on a different
>> httpclient version.
>> -->
>> <dependency>
>> <groupId>org.apache.httpcomponents</groupId>
>> <artifactId>httpclient</artifactId>
>> <version>4.3.5</version>
>> <scope>runtime</scope>
>> <exclusions>
>> <exclusion>
>> <groupId>commons-codec</groupId>
>> <artifactId>commons-codec</artifactId>
>> </exclusion>
>> </exclusions>
>> </dependency>
>> </dependencies>
>> </profile>
>>
>> <profile>
>> <id>dataflow-runner</id>
>> <!-- Makes the DataflowRunner available when running a pipeline. -->
>> <dependencies>
>> <dependency>
>> <groupId>org.apache.beam</groupId>
>> <artifactId>beam-runners-google-cloud-dataflow-java</artifactId>
>> <version>${beam.version}</version>
>> <scope>runtime</scope>
>> </dependency>
>> </dependencies>
>> </profile>
>>
>> <profile>
>> <id>flink-runner</id>
>> <!-- Makes the FlinkRunner available when running a pipeline. -->
>> <dependencies>
>> <dependency>
>> <groupId>org.apache.beam</groupId>
>> <artifactId>beam-runners-flink_2.10</artifactId>
>> <version>${beam.version}</version>
>> <scope>runtime</scope>
>> </dependency>
>> </dependencies>
>> </profile>
>>
>> <profile>
>> <id>spark-runner</id>
>> <!-- Makes the SparkRunner available when running a pipeline.
>> Additionally,
>> overrides some Spark dependencies to Beam-compatible versions. -->
>> <dependencies>
>> <dependency>
>> <groupId>org.apache.beam</groupId>
>> <artifactId>beam-runners-spark</artifactId>
>> <version>${beam.version}</version>
>> <scope>runtime</scope>
>> </dependency>
>> <dependency>
>> <groupId>org.apache.beam</groupId>
>> <artifactId>beam-sdks-java-io-hadoop-file-system</artifactId>
>> <version>${beam.version}</version>
>> <scope>runtime</scope>
>> </dependency>
>> <dependency>
>> <groupId>org.apache.spark</groupId>
>> <artifactId>spark-streaming_2.10</artifactId>
>> <version>1.6.2</version>
>> <scope>runtime</scope>
>> <exclusions>
>> <exclusion>
>> <groupId>org.slf4j</groupId>
>> <artifactId>jul-to-slf4j</artifactId>
>> </exclusion>
>> </exclusions>
>> </dependency>
>> <dependency>
>> <groupId>com.fasterxml.jackson.module</groupId>
>> <artifactId>jackson-module-scala_2.10</artifactId>
>> <version>2.8.8</version>
>> <scope>runtime</scope>
>> </dependency>
>> </dependencies>
>> </profile>
>> </profiles>
>>
>> <dependencies>
>> <!-- Adds a dependency on the Beam SDK. -->
>> <dependency>
>> <groupId>org.apache.beam</groupId>
>> <artifactId>beam-sdks-java-core</artifactId>
>> <version>${beam.version}</version>
>> </dependency>
>>
>> <!-- Adds a dependency on the Beam Google Cloud Platform IO module. -->
>> <dependency>
>> <groupId>org.apache.beam</groupId>
>> <artifactId>beam-sdks-java-io-google-cloud-platform</artifactId>
>> <version>${beam.version}</version>
>> </dependency>
>>
>> <!-- Dependencies below this line are specific dependencies needed by the
>> examples code. -->
>> <dependency>
>> <groupId>com.google.api-client</groupId>
>> <artifactId>google-api-client</artifactId>
>> <version>1.22.0</version>
>> <exclusions>
>> <!-- Exclude an old version of guava that is being pulled
>> in by a transitive dependency of google-api-client -->
>> <exclusion>
>> <groupId>com.google.guava</groupId>
>> <artifactId>guava-jdk5</artifactId>
>> </exclusion>
>> </exclusions>
>> </dependency>
>>
>> <dependency>
>> <groupId>com.google.apis</groupId>
>> <artifactId>google-api-services-bigquery</artifactId>
>> <version>v2-rev295-1.22.0</version>
>> <exclusions>
>> <!-- Exclude an old version of guava that is being pulled
>> in by a transitive dependency of google-api-client -->
>> <exclusion>
>> <groupId>com.google.guava</groupId>
>> <artifactId>guava-jdk5</artifactId>
>> </exclusion>
>> </exclusions>
>> </dependency>
>>
>> <dependency>
>> <groupId>com.google.http-client</groupId>
>> <artifactId>google-http-client</artifactId>
>> <version>1.22.0</version>
>> <exclusions>
>> <!-- Exclude an old version of guava that is being pulled
>> in by a transitive dependency of google-api-client -->
>> <exclusion>
>> <groupId>com.google.guava</groupId>
>> <artifactId>guava-jdk5</artifactId>
>> </exclusion>
>> </exclusions>
>> </dependency>
>>
>> <dependency>
>> <groupId>com.google.apis</groupId>
>> <artifactId>google-api-services-pubsub</artifactId>
>> <version>v1-rev10-1.22.0</version>
>> <exclusions>
>> <!-- Exclude an old version of guava that is being pulled
>> in by a transitive dependency of google-api-client -->
>> <exclusion>
>> <groupId>com.google.guava</groupId>
>> <artifactId>guava-jdk5</artifactId>
>> </exclusion>
>> </exclusions>
>> </dependency>
>>
>> <dependency>
>> <groupId>joda-time</groupId>
>> <artifactId>joda-time</artifactId>
>> <version>2.4</version>
>> </dependency>
>>
>> <dependency>
>> <groupId>com.google.guava</groupId>
>> <artifactId>guava</artifactId>
>> <version>20.0</version>
>> </dependency>
>>
>> <!-- Add slf4j API frontend binding with JUL backend -->
>> <dependency>
>> <groupId>org.slf4j</groupId>
>> <artifactId>slf4j-api</artifactId>
>> <version>1.7.14</version>
>> </dependency>
>>
>> <dependency>
>> <groupId>org.slf4j</groupId>
>> <artifactId>slf4j-jdk14</artifactId>
>> <version>1.7.14</version>
>> <!-- When loaded at runtime this will wire up slf4j to the JUL backend -->
>> <scope>runtime</scope>
>> </dependency>
>>
>> <!-- Hamcrest and JUnit are required dependencies of PAssert,
>> which is used in the main code of DebuggingWordCount example. -->
>> <dependency>
>> <groupId>org.hamcrest</groupId>
>> <artifactId>hamcrest-all</artifactId>
>> <version>1.3</version>
>> </dependency>
>>
>> <dependency>
>> <groupId>junit</groupId>
>> <artifactId>junit</artifactId>
>> <version>4.12</version>
>> </dependency>
>>
>> <!-- The DirectRunner is needed for unit tests. -->
>> <dependency>
>> <groupId>org.apache.beam</groupId>
>> <artifactId>beam-runners-direct-java</artifactId>
>> <version>${beam.version}</version>
>> <scope>test</scope>
>> </dependency>
>> </dependencies>
>> </project>
>>
>>
>>
>> Thanks in advance.
>>
>
>

Reply via email to