1.导入依赖
<dependency>
<!-- 从1.2.0开始迁移到bitlap,原groupId: io.patamon.geocoding -->
<groupId>org.bitlap</groupId>
<artifactId>geocoding</artifactId>
<version>1.3.1</version>
</dependency>
2.除了导入上面这个依赖还需要导入以下依赖不然运行的话会报错,因为这个包是用Kotlin写的
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<kotlin.version>1.6.10</kotlin.version>
<dokka.version>1.6.0</dokka.version>
<lucene.version>8.5.2</lucene.version>
<word.version>1.3</word.version>
<gson.version>2.9.0</gson.version>
<ik.analyzer.version>2012_u6</ik.analyzer.version>
<kotlin.compiler.incremental>true</kotlin.compiler.incremental>
<kotlin.compiler.jvmTarget>1.8</kotlin.compiler.jvmTarget>
</properties>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-stdlib</artifactId>
<version>${kotlin.version}</version>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>${gson.version}</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.11.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>31.1-jre</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-test-junit</artifactId>
<version>${kotlin.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.28</version>
<scope>test</scope>
</dependency>
<!-- lucene -->
<!--
<dependency>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-queryparser</artifactId>
<version>${lucene.version}</version>
</dependency>
<dependency>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-analyzers-smartcn</artifactId>
<version>${lucene.version}</version>
</dependency>
-->
<!--
<dependency>
<groupId>org.apdplat</groupId>
<artifactId>word</artifactId>
<version>${word.version}</version>
<exclusions>
<exclusion>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-core</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-queryparser</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-analyzers-common</artifactId>
</exclusion>
</exclusions>
</dependency>
-->
<dependency>
<groupId>com.janeluo</groupId>
<artifactId>ikanalyzer</artifactId>
<version>${ik.analyzer.version}</version>
<exclusions>
<exclusion>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-core</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-queryparser</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-analyzers-common</artifactId>
</exclusion>
</exclusions>
</dependency>
3.接下来写代码,地址不规则也是可以解析出来的
package cn.xiaow.test; import org.bitlap.geocoding.GeocodingX; import org.bitlap.geocoding.model.Address; public class GeocodingDemo { public static void main(String[] args) throws Exception{ GeocodingX geocodingX = new GeocodingX(); Address address = geocodingX.normalizing("广东省广州市花都区新华街新都大道68号馨庭花园"); System.out.println(address); } }
4.踩坑
刚开始以为直接导入 <groupId>org.bitlap</groupId<artifactId>geocoding</artifactId> <version>1.3.1</version>
这个就可以了,然后直接运行不了,后面看在github上面把源码下载下来,发现里面添加了很多pom的依赖也就是第二步的依赖,跟着把那些依赖添加到自己的项目中就可以了
5.结果