因为这次的自己的项目中遇到了这种需求,本来是想直接调用百度地图的接口,但是百度一天只能请求一千次好像,不太好,所以我在网上搜了搜,整理的一篇帖子,也是防止以后再工作中遇到类似需求方便解决,我是调用别人写的好的库然后直接打包的,把项目包用git克隆到本地然后直接编译成jar包,这里我已经编译好了,直接点击下载IP地址解析库下载
下载并且解压之后目录格式是这我们需要的jar包就在target里面,点进去会有一个ipdatabase-1.0-SNAPSHOT.jar的包,这个就是咱们需要的包了,将这个包导入到怎么的maven仓库里面:
mvn install:install-file -Dfile=C:\Users\xing\Desktop\ipdatabase\target\ipdatabase-1.0-SNAPSHOT.jar -DgroupId=com.ggstar -DartifactId=ipdatabase -Dversion=1.0 -Dpackaging=jar
然后在你对应的项目上添加三个依赖
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.14</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.14</version>
</dependency>
<dependency>
<groupId>com.ggstar</groupId>
<artifactId>ipdatabase</artifactId>
<version>1.0</version>
</dependency>
添加最后一个ipdatabase的时候可能会失败,那么就手动添加jar包的方式来添加,前面两个依赖是ip的对照表格在excel里面所以用到poi包来解析都完成之后可以测试下
import com.ggstar.util.ip.IpHelper
object IpUtiles {
def main(args: Array[String]): Unit = {
//这个地址是北京的
val ip="222.129.235.182"
//IpHelper类下面的findRegionByIp方法可以根据传入的IP地址来返回城市或者省份
val city=IpHelper.findRegionByIp(ip)
println(city)
}
}
完成解析