摘要: 接上一篇,由于Solr6在使用mmseg4j中文分词时,Solr会出现getInstanceDir()NoSuchMethodError异常,需要修改mmseg4j源码,使之兼容。如果还未配置好mmseg4j,请到Solr6配置中文分词库mmseg4j

下载源码

  1. 开源地址:https://github.com/chenlb/mmseg4j-solr
  2. 环境与工具:JDK8,Eclipse4.5(带有git插件,Maven插件)
  3. 引入项目:Import – > Git – > Projects from Git – > Clone URI
    填入URI:https://github.com/chenlb/mmseg4j-solr ,其他都用默认值,用户名、密码留空

    Next – > Next – > Import as general project
  4. 转换成Maven项目:工程mmseg4j-solr 右键 – > Configure – > Convert to Maven Project – > 等待转换完成,要下载很多Jar包,需要比较长时间

  5. 修改pom.xml文件:升级solr版本为solr6,更改mmseg4j为2.3.2-SNAPSHOT。我还修改了maven-plugins的版本,因为项目里的版本我未能从中央仓库找到。

修改源码

  1. 等待Eclipse自动build项目,发现错误:
  2. 改源码:将Solr6已经改变的API改成srl.getInstancePath(),错误消失。
  3. 打包:项目上右键 – > Run As – > Maven Build(目标填:clean install)
  4. 发现错误:Solr no longer supports forceful unlocking via the 'unlockOnStartup' option. 发现在solrconfig.xml的第63行,有这样的配置<unlockOnStartup>true</unlockOnStartup>,而如果为true,在启动的时候不锁定任何持有写或者提交的锁。 这打败了允许多个程序安全访问lucene索引并且应该小心使用的理论依据。 因此Solr6已经不允许这样的操作,我来把它改为<unlockOnStartup>false</unlockOnStartup>,当然,最简单的办法就是把它注释掉。
  5. 打包:
  6. 发现问题:Unsupported major.minor version,Java版本不对应,Solr6需要JDK8才可以。
  7. 修改:Java CompilerJava Build Path为1.8版本的Java。
  8. 打包:
  9. 发现问题:SolrCore 'mmseg4j_core' is not available due to init failure: Error loading class 'org.apache.solr.handler.admin.AdminHandlers',有一个包找不到,去看看源码。

  10. 对比源码,发现,Solr5.0开始,这个AdminHandlers已经被废弃了(类名上有删除线),并且在Solr6.0以后,这个类直接被移除了,所以,已经找不到这个AdminHandlers了。
  11. 修改:找到使用AdminHandlers的地方,在solrconfig.xml的第240行,发现<requestHandler name="/admin/" class="org.apache.solr.handler.admin.AdminHandlers" />,由于这个Handler 已经不再用,于是将这行代码注释。
  12. 打包
  13. Testcase测试通过,在项目target目录下生成了需要的jar包,替换原来的mmseg4j-solr-2.3.0.jar,大功告成!

总结,升级别人的jar包还是很折腾的,好在,这个项目已经开源,需要修改的地方也不多。如果你不愿意折腾,我把打包好的jar文件放在了CSDN上,包含mmseg4j-solr-2.3.2.jarmmseg4j-core-1.10.0.jar,点击下载。

Solr6适配自定义升级版mmseg4j相关推荐

  1. TVM适配NN编译Compiler缺陷

    TVM适配NN编译Compiler缺陷 内容纲要 前言 TVM针对VTA的编译流程 i. 自定义VTA架构:TVM的缺陷与性能瓶颈 TVM缺陷与瓶颈 i. 缺陷一:SRAM配置灵活性差 ii. 缺陷二 ...

  2. Mantis-如何自定义流程状态

    西西的博客 Mantis-如何自定义流程状态 关键词: Mantis自定义流程状态                                           相信大家在使用mantis的时候 ...

  3. Android App Dark Theme(暗黑模式)适配指南,android实战mysql

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-v2qd7l5a-1636430548017)(https://user-gold-cdn.xitu.io/2020/3/ ...

  4. Android App Dark Theme(暗黑模式)适配指南

    在 2019 年的 Google I/O 和 Apple WWDC 上,新露面的 Android 10 和 iOS 13 都宣布将支持 Dark Theme 也就是我们常说的暗黑模式,并提供相关 AP ...

  5. Android 适配Dark Theme(暗黑模式),看完跪了

    Force Dark自动适配 Android 10 提供 Force Dark 功能.此功能可让开发者快速实现深色主题背景,只需要在 style.xml 中的应用主题中添加这一行代码android:f ...

  6. Android 适配Dark Theme(暗黑模式),Android高级工程师必备知识

    Android 10 提供 Force Dark 功能.此功能可让开发者快速实现深色主题背景,只需要在 style.xml 中的应用主题中添加这一行代码android:forceDarkAllowed ...

  7. android notification设置不同字体颜色,Android Notification自定义通知样式你要知道的事...

    本文将根据个人经验对Notification做个总结,以供参考! 什么是通知(Notification) 通知是一个可以在应用程序正常的用户界面之外显示给用户的消息. 通知发出时,它首先出现在状态栏的 ...

  8. Android 版本更新(非热更新) 适配7.0更新 以及三星 note系列读取内存相关目录无权限问题

    目录 [TOC] 个人认为热更新虽然是好 但是 像ios直接拒绝使用热更新 也不无道理 本人一直使用传统的版本升级方式 请求接口 返回下载链接 然后下载文件 用Intent吊起安装 android7. ...

  9. Paddle预训练模型应用工具PaddleHub

    Paddle预训练模型应用工具PaddleHub • 本文主要介绍如何使用飞桨预训练模型管理工具PaddleHub,快速体验模型以及实现迁移学习.建议使用GPU环境运行相关程序,可以在启动环境时,如下 ...

  10. 五行代码玩转GPT-2,新加坡高中生开源轻量级GPT-2“客户端”

    鱼羊 发自 凹非寺  量子位 报道 | 公众号 QbitAI OpenAI会讲故事的文本生成模型GPT-2,现在有了更易用的封装版本. 轻松上手,轻量级,速度快.这就是这只名叫gpt2-client的 ...

最新文章

  1. LSGO代码小组第16周复盘日志
  2. java 解析 csv 文件
  3. Oracle教程之四招提高Oracle位图索引的使用效果
  4. mysql存储number_DUMP函数--Oracle是如何在内部存储NUMBER类型的数据?
  5. word List 13
  6. spring框架mvc框架_Spring的MVC测试框架入门–第1部分
  7. 关于 RGB 的颜色认知
  8. 查询网站web服务器,web服务器地址查询
  9. Spark分区详解!DT大数据梦工厂王家林老师亲自讲解!
  10. maven install 读取jar包时出错;error in opening zip file
  11. DS博客作业01--日期抽象数据类型设计与实验
  12. python迭代遍历目录下所以文件(Iterating through directories with Python)
  13. UNI-APP 小程序生成海报
  14. 2012 r2 万能网卡驱动_MultiBeast | 黑苹果的驱动精灵简单使用解读
  15. 如何做网站推广?如何提高网站浏览量?
  16. 计算机圣诞节教案,2010我们的圣诞节(2010圣诞节教案)
  17. 计算机网络通信模型之cs模式(一)简单的socket
  18. 数据库cosc2406-2407辅导week10-quiz-Transactions and Concurrency
  19. 根据IMSI区别运营商
  20. Virsh 虚拟机迁移

热门文章

  1. 基本面因子投资的三点思考
  2. tcp伪报头_TCPUDP伪首部详解
  3. 训练创新思维的方法:曼陀罗思考法
  4. 鸢尾花lris数据集的SVM线性分类
  5. 高等数学笔记-苏德矿-第十章-曲线积分和曲面积分-第七节-高斯公式与斯托克斯公式
  6. Android清理缓存工具类
  7. 树莓派外设开发——IIC接口OLED屏幕
  8. shader 获取法线_Unity Shader-法线贴图(Normal)及其原理
  9. ofbiz UOM Conversion Relationship Not Found [单位转化关系没有找到] 问题解决:
  10. 萤石 python获取直播地址和画面