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