自己使用的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>