lucene使用IKAnalyzer报错:java.lang.AbstractMethodError

    xiaoxiao2023-03-24  3

    自己使用的IK分词器是 上的,该网站只提供一个版本。maven配置 如下

    <pre name="code" class="html"><dependency> <groupId>org.apache.lucene</groupId> <artifactId>lucene-core</artifactId> <version>3.6.2</version> </dependency> <!-- https://mvnrepository.com/artifact/com.janeluo/ikanalyzer --> <!--mvnrepository上提供的ik分词器 --> <dependency> <groupId>com.janeluo</groupId> <artifactId>ikanalyzer</artifactId> <version>2012_u6</version> </dependency>

    程序使用该分词器时,报错:

    java.lang.AbstractMethodError

    打开从仓库上下载的jar文件,发现,IK分词器所依赖的lucene相关组件的版本为4.7.2,与自己的lucene版本不一致,而且是一个主版本号的级别,估计错误就是ik分词器版本支持的原因。具体分析见下图:

    所以从网上找了一个支持lucene3.6的ik分词器的jar包,把该jar包导入到自己的本地仓库,该命令为:

    mvn install:install-file -DgroupId=com.janeluo -DartifactId=ik-analyzer -Dversion=2012 -Dpackaging=jar -DgeneratePom=true -Dfile=IKAnalyzer2012_u6.jar

    这样就可以用maven来为工程导入该jar包。

    在pom文件配置使用自己刚刚导入的ik分词器jar包:

    <dependency> <groupId>org.apache.lucene</groupId> <artifactId>lucene-core</artifactId> <version>3.6.2</version> </dependency> <!--自己利用jar包添加到maven本地仓库 --> <dependency> <groupId>com.janeluo</groupId> <artifactId>ik-analyzer</artifactId> <version>2012</version> </dependency>

    转载请注明原文地址: https://ju.6miu.com/read-1201307.html
    最新回复(0)