我有以下pom.xml。
的pom.xml
<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>com.datasys.prasanna</groupId>
<artifactId>hadoop-wordcount</artifactId>
<version>1.0.0</version>
<packaging>jar</packaging>
<name>hadoop-wordcount</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-core</artifactId>
<version>1.2.1</version>
</dependency>
</dependencies>
</project>
当我创建一个像mvn包这样的jar时,我得到一个名为hadoop-wordcount-1.0.0.jar
的jar
但是当我尝试像hadoop jar一样运行jar时hadoop-wordcount-1.0.0.jar WordCount / input / out1
它说Exception in thread "main" java.lang.ClassNotFoundException: WordCount
WordCount 是我的主要方法的java文件。我错过了pom.xml中的内容吗?
答案 0 :(得分:1)
如果您的WordCount类位于(Java)包中(例如,如果您复制并粘贴了this example中的代码),那么您需要在命令行上提供完全限定的类名
例如:
hadoop jar hadoop-wordcount-1.0.0.jar org.myorg.WordCount /input /out1