When I simply used "C:/Users/ges/Workspace/word-count-beam/pom.xml" as
input file, I am pretty sure that it has gone farther than using URI
"file:///", because it has already generated the temp pipeline files and
wordcount. Just the compile failed with "Unable to find registrar for c".
To my gut this is a different issue than not able to locate the input file.

Thanks,
Silas Ge

2017-05-23 17:31 GMT+08:00 Shuangyin Ge <[email protected]>:

> 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 <[email protected]>:
>
>> 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 <[email protected]> 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.mav
>>> en.plugins.shade.resource.ServicesResourceTransformer"/>
>>> </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