Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java.lang.Exception:java.lang.NoClassDefFoundError:org/apache/lucene/util/OpenBitSet_Java_Apache_Maven_Hadoop_Mapreduce - Fatal编程技术网

java.lang.Exception:java.lang.NoClassDefFoundError:org/apache/lucene/util/OpenBitSet

java.lang.Exception:java.lang.NoClassDefFoundError:org/apache/lucene/util/OpenBitSet,java,apache,maven,hadoop,mapreduce,Java,Apache,Maven,Hadoop,Mapreduce,在使用maven的netbeans中,我添加了org.apache.lucene-lucene-core 4.2.0的第三方依赖项,因为较新的核心版本不包含OpenBitSet类。 以下是pom: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance

在使用maven的netbeans中,我添加了org.apache.lucene-lucene-core 4.2.0的第三方依赖项,因为较新的核心版本不包含OpenBitSet类。 以下是pom:

<?xml version="1.0" encoding="UTF-8"?>
<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.apache.hadoop</groupId>
<artifactId>DuccProject</artifactId>
<version>2.7.3</version>
<packaging>jar</packaging>
<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
</properties>
<dependencies>
    <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-hdfs</artifactId>
        <version>2.0.0-cdh4.0.0</version>
    </dependency>
    <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-auth</artifactId>
        <version>2.0.0-cdh4.0.0</version>
    </dependency>
    <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-common</artifactId>
        <version>2.0.0-cdh4.0.0</version>
    </dependency>
    <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-core</artifactId>
        <version>2.0.0-mr1-cdh4.0.1</version>
    </dependency>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.10</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.apache.lucene</groupId>
        <artifactId>lucene-core</artifactId>
        <version>4.2.0</version>
    </dependency>
    <dependency>
        <groupId>it.unimi.dsi</groupId>
        <artifactId>fastutil</artifactId>
        <version>7.0.12</version>
    </dependency>
</dependencies>
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.1</version>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
    </plugins>
</build>
其中org.apache.hadoop.duccproject.Ducc是我的主类的路径, 我面临以下错误:

java.lang.Exception: java.lang.NoClassDefFoundError: org/apache/lucene/util/OpenBitSet
at org.apache.hadoop.mapred.LocalJobRunner$Job.runTasks(LocalJobRunner.java:462)
at org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:529)
Caused by: java.lang.NoClassDefFoundError: org/apache/lucene/util/OpenBitSet
at org.apache.hadoop.columns.ColumnCombinationBitset.<init>(ColumnCombinationBitset.java:33)
at org.apache.hadoop.duccproject.ParserReducer.reduce(ParserReducer.java:53)
at org.apache.hadoop.duccproject.ParserReducer.reduce(ParserReducer.java:24)
at org.apache.hadoop.mapreduce.Reducer.run(Reducer.java:171)
at org.apache.hadoop.mapred.ReduceTask.runNewReducer(ReduceTask.java:627)
at org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:389)
at org.apache.hadoop.mapred.LocalJobRunner$Job$ReduceTaskRunnable.run(LocalJobRunner.java:319)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.ClassNotFoundException: org.apache.lucene.util.OpenBitSet
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 12 more
16/09/04 17:41:53 INFO mapreduce.Job:  map 100% reduce 0%
java.lang.Exception:java.lang.NoClassDefFoundError:org/apache/lucene/util/OpenBitSet
位于org.apache.hadoop.mapred.LocalJobRunner$Job.runTasks(LocalJobRunner.java:462)
位于org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:529)
原因:java.lang.NoClassDefFoundError:org/apache/lucene/util/OpenBitSet
位于org.apache.hadoop.columns.ColumnCombinationBitset.(ColumnCombinationBitset.java:33)
位于org.apache.hadoop.duccproject.ParserReducer.reduce(ParserReducer.java:53)
位于org.apache.hadoop.duccproject.ParserReducer.reduce(ParserReducer.java:24)
位于org.apache.hadoop.mapreduce.Reducer.run(Reducer.java:171)
位于org.apache.hadoop.mapred.ReduceTask.runNewReducer(ReduceTask.java:627)
位于org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:389)
位于org.apache.hadoop.mapred.LocalJobRunner$Job$ReduceTaskRunnable.run(LocalJobRunner.java:319)
位于java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
在java.util.concurrent.FutureTask.run(FutureTask.java:266)处
位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
运行(Thread.java:745)
原因:java.lang.ClassNotFoundException:org.apache.lucene.util.OpenBitSet
位于java.net.URLClassLoader.findClass(URLClassLoader.java:381)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:424)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 还有12个
16/09/04 17:41:53信息地图还原。作业:地图100%还原0%

错误表明应用程序无法找到所需的类,在运行时,您还需要使用hadoop命令选项提供lucene core 4.2.0 jar的路径,如下所示

-libjars <comma seperated list of jars>
-libjars

您还可以看到其他

错误指示应用程序无法找到所需的类,在运行时,您还需要使用hadoop命令选项提供lucene core 4.2.0 jar的路径,如下所示

-libjars <comma seperated list of jars>
-libjars

您还可以看到其他

您好,先生。谢谢你的回复。我照你说的做了。我将jar放入hdfs中,并在运行jar时与-libjar选项一起使用。但我还是在解决同样的问题!我使用maven汇编插件从.pom文件中创建一个胖jar。我认为——libjars也在正确的方向上,但胖罐子对我来说更容易理解。谢谢你的回复!你好,先生。谢谢你的回复。我照你说的做了。我将jar放入hdfs中,并在运行jar时与-libjar选项一起使用。但我还是在解决同样的问题!我使用maven汇编插件从.pom文件中创建一个胖jar。我认为——libjars也在正确的方向上,但胖罐子对我来说更容易理解。谢谢你的回复!