Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/386.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 如何排除hadoop核心依赖项_Java_Rest_Maven_Hadoop - Fatal编程技术网

Java 如何排除hadoop核心依赖项

Java 如何排除hadoop核心依赖项,java,rest,maven,hadoop,Java,Rest,Maven,Hadoop,我将我的hadoop依赖项从1.1.1升级到了0.2.0 hadoop 我的问题是: 我的mapreduce项目依赖于jersey,hadoop 0.2.0核心依赖于jersey的旧版本。 因此,我的mapreduce类中的一个方法导致“java.lang.NoSuchMethodError:javax.ws.rs.core.MultivaluedMap.addAll” 作为解决方案: 在pom文件中,我将jersey从hadoop依赖项中排除,但这仍然没有解决总体问题 当我尝试以java的形式

我将我的hadoop依赖项从1.1.1升级到了0.2.0 hadoop

我的问题是: 我的mapreduce项目依赖于jersey,hadoop 0.2.0核心依赖于jersey的旧版本。 因此,我的mapreduce类中的一个方法导致“java.lang.NoSuchMethodError:javax.ws.rs.core.MultivaluedMap.addAll”

作为解决方案: 在pom文件中,我将jersey从hadoop依赖项中排除,但这仍然没有解决总体问题


当我尝试以java的形式运行一个函数(过去会导致错误)的类时,现在它可以工作了。然而,当我尝试用hadoop命令运行它时,它总是给我同样的错误

我认为您所要求的是不可能的,除非您能够以某种方式分离类加载器。基本上,您要求拥有相同.class的版本。当您运行hadoop命令时,需要考虑类路径,作为一种黑客行为,您可以更改类路径中库的顺序以优先于类路径。在构建时,您的类路径上可能仍然有多个版本的库。我在eclipse dependency viewer和maven dependency tree中看到过,它们没有显示依赖关系,但是当您打包工件时,您会注意到lib目录中有多个版本。这些错误几乎总是由类路径上的同一类的多个版本引起的。您能用mvn dependency:tree的输出更新这个问题吗