zoukankan      html  css  js  c++  java
  • 关于maven项目中java.lang.NoClassDefFoundError的问题处理

    第一次用maven配置库,在做网络爬虫时,引用了第三方工具包htmlparser.jar,一直用main方法开发调试,当把部署到tomcat中时,启动报java.lang.NoClassDefFoundError,开始以为时jar包冲突,因为在htmllexer.jar包中也有一个相同的类,在build path中将htmllexer.jar去掉后,仍然报错,在tomcat发布后的lib中也没有引用的jar包,在网上找了好多文章。

    其中http://blog.csdn.net/jamesjxin/article/details/46606307 中介绍了NoClassDefFoundError错误发生的原因,并介绍了java.lang.NoClassDefFoundError和java.lang.ClassNotfoundException这两个错误的区别,提到了类加载机制。
    另一篇文章http://vipcowrie.iteye.com/blog/1562251 中根据class加载的双亲委托机制来阐述了该错误发生的原因。

    还有 http://blog.csdn.net/qqhjqs/article/details/51491516 中提到了pom.xml配置文件commons-lang的配置,但由于我的环境本身就是

    1. <dependency>  
    2.             <groupId>commons-lang</groupId>  
    3.             <artifactId>commons-lang</artifactId>  
    4. </dependency>

    所以,不管用。

    再加上在之前的项目使用buid path引用第三方jar包,是没有任何问题的, 这是基本判断是maven配置库中没有第三方jar包的原因,但因为真是不懂maven的机制,原理,用法,问了一下同事,在网上搜htmlparser.jar的maven源,拷贝的pom.xml中,同时删除了原来build path添加进去的jar包,此时在maven中有了这个包,编译、运行均通过,解决了相关问题。

    但,最终还是不明白为什么,不懂的太多了,希望有大侠解惑!

  • 相关阅读:
    dos命令连接mysql并且查看编码方式
    node.js 好博客
    node.js 连接数据库
    express的基本配置项
    express 手册
    VPS巴士
    nodejs书籍
    nodejs connect模块
    网站工具,如天气,手机归属地
    NodeJS的异步编程风格
  • 原文地址:https://www.cnblogs.com/gugunan/p/8067854.html
Copyright © 2011-2022 走看看