jar中的ClasNotFound异常

时间:2014-08-19 18:31:17

标签: maven hadoop jar

我有以下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中的内容吗?

1 个答案:

答案 0 :(得分:1)

如果您的WordCount类位于(Java)包中(例如,如果您复制并粘贴了this example中的代码),那么您需要在命令行上提供完全限定的类名

例如:

hadoop jar hadoop-wordcount-1.0.0.jar org.myorg.WordCount /input /out1