1.HDFS + WEB 项目 报java.lang.VerifyError... 异常

抛异常:

Exception in thread "main" java.lang.VerifyError: (class: com/google/common/collect/Interners, method: newWeakInterner signature: ()Lcom/google/common/collect/Interner;) Incompatible argument to function

at org.apache.hadoop.util.StringInterner.<clinit>(StringInterner.java:48)

at org.apache.hadoop.conf.Configuration.loadResource(Configuration.java:2472)

at org.apache.hadoop.conf.Configuration.loadResources(Configuration.java:2364)

at org.apache.hadoop.conf.Configuration.getProps(Configuration.java:2281)

at org.apache.hadoop.conf.Configuration.get(Configuration.java:888)

at org.apache.hadoop.conf.Configuration.getTrimmed(Configuration.java:907)

at org.apache.hadoop.conf.Configuration.getBoolean(Configuration.java:1308)

at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:366)

冲突来自 Java_EE_6 中的weld-osgi-bundle.jar 和 guava-11.0.2.jar 这两个包。 com/google/common/collect/Interners 类是 HDFS在创建FileSystem时所需要使用的一个创建Interner类的工具类,但是 weld-osgi-bundle.jar和guava-11.0.2.jar 存在了一样的结构,而weld-osgi-bundle.jar中却不存在Interners类,导致在运行过程中的冲突。

解决方法一:

将web工程应用Java EE 5。笔者的项目使用Java EE 5已经足够了,如果你们的项目中有使用到Java EE 6的功能可以通过另外导入需要的工具实现。

解决方法二:

将Java EE 6 的包通过 ADD JARs... 的方式导入。

注意:不要将 Java EE 6中的包直接放到WebRoot/WEB-INF/lib 下,这样同样会导致包冲突

2.报异常java.lang.NoSuchMethodError: org.eclipse.jdt.internal.compiler.CompilationRe

java.lang.NoSuchMethodError: org.eclipse.jdt.internal.compiler.CompilationResult.getProblems()

这些都是:

Hadoop相关jar中依赖jetty、servlet等第三方jar包和当前项目中的有冲突,

1.如用的maven的话,在pom文件中排除这些jar包后,启动访问页面就正常了:

<dependency>

  <groupId>org.apache.hadoop</groupId>
  <artifactId>hadoop-common</artifactId>
  <version>${hadoop.version}</version>
    <exclusions>
    <exclusion>
        <groupId>org.mortbay.jetty</groupId>
        <artifactId>jetty</artifactId>
    </exclusion>
    <exclusion>
        <groupId>org.mortbay.jetty</groupId>
        <artifactId>jetty-util</artifactId>
    </exclusion>
    <exclusion>
        <groupId>org.mortbay.jetty</groupId>
        <artifactId>jsp-2.1</artifactId>
    </exclusion>
    <exclusion>
        <groupId>org.mortbay.jetty</groupId>
        <artifactId>jsp-api-2.1</artifactId>
    </exclusion>
    <exclusion>
        <groupId>org.mortbay.jetty</groupId>
        <artifactId>servlet-api-2.1</artifactId>
    </exclusion>
    <exclusion>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
    </exclusion>
    <exclusion>
        <groupId>javax.servlet.jsp</groupId>
        <artifactId>jsp-api</artifactId>
    </exclusion>
    <exclusion>
        <groupId>tomcat</groupId>
        <artifactId>jasper-compiler</artifactId>
    </exclusion>
    <exclusion>
        <groupId>tomcat</groupId>
        <artifactId>jasper-runtime</artifactId>
    </exclusion>
  </exclusions>
</dependency>
 
2,如是您自己手工在lib加入的话,哪就要将这几个包去掉,目前我就是这样做的,可以用运行(有具体版本号,我没写,但是前面都一样)
  jersey-server-1.9.jar
  jasper-runtime-5.5.23.jar
  jasper-compiler-5.5.23.jar
  servlet-api.jar
  jsp-api.jar
  jetty-util.jar
  jetty.jar
 
最后您还可用查看其它人的:
http://brandnewuser.iteye.com/blog/2208969
http://www.micmiu.com/exception/jee-hadoop-nosuchmethod-error-getproblems/

hadoop+javaWeb的开发中遇到包冲突问题(java.lang.VerifyError)的更多相关文章

  1. Android开发中使用数据库时出现java.lang.IllegalStateException: Cannot perform this operation because the connection pool has been closed.

    最近在开发一个 App 的时候用到了数据库,可是在使用数据库的时候就出现了一些问题,在我查询表中的一些信息时出现了一下问题: Caused by: java.lang.IllegalStateExce ...

  2. Spring AOP 开发中遇到问题:Caused by: java.lang.IllegalArgumentException: warning no match for this type name: com.xxx.collector.service.impl.XxxServiceImpl [Xlint:invalidAbsoluteTypeName]

    在网上找了很多,都不是我想要的,后来发现是我在springaop注解的时候 写错了类名导致的这个问题 @Pointcut("execution(* com.xxx.collector.ser ...

  3. Maven中 jar包冲突原理与解决办法

    Maven中jar包冲突是开发过程中比较常见而又令人头疼的问题,我们需要知道 jar包冲突的原理,才能更好的去解决jar包冲突的问题.本文将从jar包冲突的原理和解决两个方面阐述Maven中jar包冲 ...

  4. 【转】Android中引入第三方Jar包的方法(java.lang.NoClassDefFoundError解决办法)

    原文网址:http://www.blogjava.net/anchor110/articles/355699.html 1.在工程下新建lib文件夹,将需要的第三方包拷贝进来.2.将引用的第三方包,添 ...

  5. 在Eclipse中运行Jboss时出现java.lang.OutOfMemoryError:PermGen space及其解决方法

    在Eclipse中运行Jboss时出现java.lang.OutOfMemoryError:PermGen space及其解决方法 在Eclipse中运行Jboss时,时间太长可能有时候会出现java ...

  6. Android项目更换开发环境时出现的 java.lang.VerifyError 异常解决办法

    from://http://blog.csdn.net/wudiwo/article/details/7548451 项目是从同事的电脑上直接拷贝过来的,项目里面的jar包是在项目跟下libs里面存放 ...

  7. 解决EBS中JAR包冲突的问题

    同事解决的,摘抄上来备用. 问题描述:在OAF里调用ESB的服务报错如下: Error Page   Exception Details.    oracle.apps.fnd.framework.O ...

  8. Hadoop运行jar包报错java.lang.Exception: java.lang.ArrayIndexOutOfBoundsException: 1

    错误信息: java.lang.Exception: java.lang.ArrayIndexOutOfBoundsException: 1    at org.apache.hadoop.mapre ...

  9. Cloudera集群中提交Spark任务出现java.lang.NoSuchMethodError: org.apache.hadoop.hbase.HTableDescriptor.addFamily错误解决

    Cloudera及相关的组件版本 Cloudera: 5.7.0 Hbase: 1.20 Hadoop: 2.6.0 ZooKeeper: 3.4.5 就算是引用了相应的组件依赖,依然是报一样的错误! ...

随机推荐

  1. UIMenuController使用

    - (void)bubbleDidLongPress:(UILongPressGestureRecognizer *)gestureRecognizer { if(gestureRecognizer. ...

  2. h5上传图片

    1.如何在H5上传图片 使用FileReader 2.FileReader接口 传图片我们只用到readAsDataURL 3.FileReader接口事件 传图片我们只用到onload 4.如何使用 ...

  3. HDU——PKU题目分类

    HDU 模拟题, 枚举1002 1004 1013 1015 1017 1020 1022 1029 1031 1033 1034 1035 1036 1037 1039 1042 1047 1048 ...

  4. spring和hibernate整合时无法自动建表

    在使用spring整合hibernate时候代码如下: <property name="dataSource" ref="dataSource" /> ...

  5. Dom终

    l创建DOM元素 •createElement(标签名)  创建一个节点 •appendChild(节点)  追加一个节点 –例子:为ul插入li <!DOCTYPE html PUBLIC & ...

  6. win7下配置Apache本地虚拟主机

    我们有时候从网上下载下来的php源码很多都是应用在网站根目录下的,而我们又想在本地先测试一遍确定没有问题了再上传空间,但一换到子目录下的时候因为路径问题,使得许多图片.内容都无法显示. 这个时候我们就 ...

  7. HDFS原理介绍

    HDFS(Hadoop Distributed File System )Hadoop分布式文件系统.是根据google发表的论文翻版的.论文为GFS(Google File System)Googl ...

  8. NGUI图片闪光

    先上效果 Shader Shader "Unlit/Transparent Colored Flow Texture" { Properties { _MainTex (" ...

  9. ios 中NSDateFormater中的特殊字符

    今天要把一个字符串转化为日期格式,这个字符串是服务器传过来的,如下: 2015-02-28T14:40:15 我开始使用这个格式来转化  yyyy-MM-ddThh:mm:ss ,一直返回nil,原来 ...

  10. pt-query-digest使用介绍【转】

    本文来自:http://isadba.com/?p=651 一.pt-query-digest参数介绍. pt-query-digest --user=anemometer --password=an ...