2015-11-03 42 views
1

我试图首先WordCount examples的运行,并且它在Eclipse工作(I有Windows 7 OS),但不是在外壳,使用命令:字计数例如在Eclipse运行,而不是在终端

mvn compile exec:java -Dexec.mainClass=com.google.cloud.dataflow.examples.MinimalWordCount 

我已经安装了Maven并配置了JAVA_HOME和Path变量等,但是,我不确定我一定错过了什么。这是输出:

[INFO] Scanning for projects... 
[INFO] 
[INFO] ------------------------------------------------------------------------ 
[INFO] Building Tutorial 0.0.1-SNAPSHOT 
[INFO] ------------------------------------------------------------------------ 
[INFO] 
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ Tutorial --- 
[WARNING] Using platform encoding (Cp1250 actually) to copy filtered resources, 
i.e. build is platform dependent! 
[INFO] skip non existing resourceDirectory C:\Java\eclipse-jee-luna-SR2-win32-x8 
6_64\eclipse\workspace\Tutorial\src\main\resources 
[INFO] 
[INFO] --- maven-compiler-plugin:3.3:compile (default-compile) @ Tutorial -- 
[INFO] Nothing to compile - all classes are up to date 
[INFO] 
[INFO] --- exec-maven-plugin:1.4.0:java (default-cli) @ Tutorial --- 
[WARNING] 
java.lang.ClassNotFoundException: com.google.cloud.dataflow.examples.MinimalWord 
Count 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358) 
    at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:281) 
    at java.lang.Thread.run(Thread.java:744) 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 3.011 s 
[INFO] Finished at: 2015-11-03T01:11:57+01:00 
[INFO] Final Memory: 17M/178M 
[INFO] ------------------------------------------------------------------------ 
[ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.4.0:java 
(default-cli) on project Tutorial: An exception occured while executing the Java 
class. com.google.cloud.dataflow.examples.MinimalWordCount -> [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/confluence/display/MAVEN/MojoExecutionE 
xception- 

我在如何继续操作,并会非常欣赏的地方旁边看的想法和其他的东西来尝试黑暗。

谢谢!

+0

您是否在包含com.google.cloud.dataflow.examples.MinimalWordCount的目录中运行命令? – THX1137

+0

是的,我是。它甚至不会达到这个目的,否则它会返回一个不同的错误('[ERROR]你指定的目标需要一个项目来执行,但没有POM')。 – user2107356

+0

你运行过mvn install吗? – THX1137

回答

1

您可能遇到过有关文档的问题。

如果您已克隆GoogleCloudPlatform/DataflowJavaSDK-examples,则您正在使用的命令行应该可用。提到特定的克隆回购可以回到“getting started”,如果您直接前往WordCount Example Pipeline,那么这一点并不明显。

但是,如果您从Cloud Dataflow Plugin for Eclipse(或通过Maven archetype)生成了项目,那么这些示例将放入您的Java包中。因此,代替com.google.cloud.dataflow.examples.MinimalWordCount,您将使用名称my.java.project.MinimalWordCount,其中my.java.project是您在创建项目时选择的任何软件包名称。

或者,如果您从GoogleCloudPlatform/DataflowJavaSDK克隆了SDK本身,那么您需要将-pl examples添加到您的命令行。这是因为SDK的存储库被分解到了maven模块中;该标志指示maven在examples模块的上下文中运行。

0

如果你有一个多模块Maven项目(DataflowJavaSDK,不DataflowJavaSDK-的例子),你可以做mvn compile在顶级目录,然后cdexamples,然后发出mvn exec:java -Dexec.mainClass=...命令在那里。

相关问题