Caused by: java.lang.NoSuchMethodError: com.google.common.util.concurrent.MoreExecutors.sameThreadExecutor()Lcom/google/common/util/concurrent/ListeningExecutorService;
at com.google.common.cache.LocalCache.(LocalCache.java:160)
at com.google.common.cache.LocalCache$LocalManualCache.(LocalCache.java:4718)
at com.google.common.cache.CacheBuilder.build(CacheBuilder.java:807)
at org.apache.hadoop.hdfs.DomainSocketFactory.(DomainSocketFactory.java:45)
at org.apache.hadoop.hdfs.DFSClient.(DFSClient.java:517)
at org.apache.hadoop.hdfs.DFSClient.(DFSClient.java:453)
at org.apache.hadoop.hdfs.DistributedFileSystem.initialize(DistributedFileSystem.java:136)
at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2433)
解决办法,在WEB-INF下增加一个weblogic.xml文件,添加如下内容,使weblogic默认使用工程内的jar包:
<?xml version="1.0" encoding="UTF-8"?>
<wls:weblogic-web-app
xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-web-app"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd
http://xmlns.oracle.com/weblogic/weblogic-web-app
http://xmlns.oracle.com/weblogic/weblogic-web-app/1.4/weblogic-web-app.xsd">
<wls:container-descriptor>
<wls:prefer-application-packages>
<wls:package-name>com.google.common.*</wls:package-name>
</wls:prefer-application-packages>
</wls:container-descriptor>
</wls:weblogic-web-app>2.web services包冲突com.sun.xml.messaging.saaj.soap.LocalStrings != com.sun.xml.internal.messaging.saaj.soap.LocalStrings
解决方法:
删掉saaj-impl.jar 换成了。geronimo-webservices-2.1.4.jar

本文详细介绍了在使用Hadoop时遇到的jar包冲突问题,尤其是当WebLogic使用了较低版本的guava jar包时,如何通过在WEB-INF下增加weblogic.xml文件来解决冲突。同时,文中还提到了如何解决webservice包冲突,通过替换saaj-impl.jar为geronimo-webservices-2.1.4.jar来避免版本不匹配导致的问题。

6499

被折叠的 条评论
为什么被折叠?



