zoukankan      html  css  js  c++  java
  • 记一次jar包冲突

    题记:永远不要在同一个项目中,引用不同版本的两个jar包,否则,这可能就是一个大坑。

    在做网校项目的时候,帮助中心要使用lucene,所以就引入了lucene-5.5.1的包,删掉了原先存在于项目中的lucene-3.0.0的包,

    由于项目中以前使用了paoding-1.0.0的包,而paoding依赖于lucene,当时并没有意识到这个问题,就直接把lucene-3.0.0的包

    删掉了。最后把帮助中心在lucene-5.5.1下做好之后,才发现paoding的功能不能使用了,因为paoding-1.0.0只支持lucene-3.0.0

    ,无奈之下就又把lucene-3.0.0的包又给加回来了。注意,这个时候我们的项目中同时存在lucene-5.5.1和lucene-3.0.0两个版本的

    jar包。。。。这个时候,我再去测使用lucene-5.5.1的帮助中心的功能时,发现帮助中心的搜索功能也报错了,总是报出NoSuchMethodException,

    无论怎么清理,重新编译,总是这个错误。折腾了一个早上,把lucene-3.0.0的包彻底从项目中移除(从lib中删除,不是从移除类路径就行了)。

    可见,虽然帮助中心的代码上import的全是lucene-5.5.1的类,但是在虚拟机中,还是使用了lucene-3.0.0的某些类,所以总是报出NoSuchMethodException,

    好了,问题找到了,就是两个不同版本的jar包冲突了。。。。此时,又面临一个尴尬,要使用lucene-5.5.1,那么paoding不能正常使用,要使用lucene-3.0.0的话,

    帮助中心的搜索功能需要去调整成3.0.0的版本。。。。总后在网上找到了paoding-2.0.4和lucene-4.8.0这个组合搭配可是使用,而且lucene-4.8.0的api相对于

    lucene-5.5.1的api变化比较小,帮助中心的搜索功能,只要做小幅的调整就可以了。结束!

  • 相关阅读:
    内排序小结
    HTML初体验
    android动画介绍之 自己定义Animation动画实现qq抖一抖效果
    iOS 把数据库文件打包到mainbundle中,查找不到路径的解决的方法;以及在删除bundle中文件的可行性
    随着ScrollView的滑动,渐渐的运行动画View
    MFC Month Calendar Control 控件使用
    Codeforces Round #148 (Div. 1)
    Codeforces 486E LIS of Sequence(线段树+LIS)
    2014年百度之星资格赛第四题Labyrinth
    UVA10519
  • 原文地址:https://www.cnblogs.com/wangliyue/p/5552121.html
Copyright © 2011-2022 走看看