IP地址解析之github中ipdatabase项目的使用

使用gitbub上的ipdatabase项目做IP地址解析得到该IP是什么城市的。

流程:1.下载项目 2.编译 3.添加到maven库中(这里演示的是本地maven库) 4.在idea项目的pom.xml中引入依赖

ipdatabase项目地址

https://github.com/wzhe06/ipdatabase.git

下载

git clone https://github.com/wzhe06/ipdatabase.git

编译

mvn clean package -DskipTests 

IP地址解析之github中ipdatabase项目的使用_第1张图片

编译后生成的jar包在target目录下

将这个jar包安装到自己的maven仓库中

mvn install:install-file -Dfile=F:\mc\SparkSQL\ipdatabase\target\ipdatabase-1.0-SNAPSHOT.jar -DgroupId=com.ggstar -DartifactId=ipdatabase -Dversion=1.0 -Dpackaging=jar

IP地址解析之github中ipdatabase项目的使用_第2张图片

查看本地maven库是否加上了这个要用的jar包

IP地址解析之github中ipdatabase项目的使用_第3张图片

打开IDEA在pom.xml中引入依赖。

IP地址解析之github中ipdatabase项目的使用_第4张图片

代码

package com.sid.com.project

import com.ggstar.util.ip.IpHelper

object IpUtils {
  def getCity(ip:String) ={
    IpHelper.findRegionByIp(ip)
  }

  def main(args: Array[String]): Unit = {
    println(getCity("58.30.15.255"))
  }
}

运行报错

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/poi/openxml4j/exceptions/InvalidFormatException
	at com.ggstar.util.ip.IpHelper.getRegionRelationMap(IpHelper.java:88)
	at com.ggstar.util.ip.IpHelper.getIpRelation(IpHelper.java:58)
	at com.ggstar.util.ip.IpHelper.buildTrain(IpHelper.java:33)
	at com.ggstar.util.ip.IpHelper.(IpHelper.java:27)
	at com.sid.com.project.IpUtils$.getCity(IpUtils.scala:7)
	at com.sid.com.project.IpUtils$.main(IpUtils.scala:11)
	at com.sid.com.project.IpUtils.main(IpUtils.scala)
Caused by: java.lang.ClassNotFoundException: org.apache.poi.openxml4j.exceptions.InvalidFormatException
	at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	... 7 more

因为少了poi的包,在pom.xml中加上。这两个包在我们从github上下载的ipdatabase源码的pom.xml中能看到,直接复制过来。


      org.apache.poi
      poi-ooxml
      3.14
    

    
      org.apache.poi
      poi
      3.14
    

再运行

报错

java.io.FileNotFoundException: file:\F:\maven\apache-maven-3.3.9-bin\repository\com\ggstar\ipdatabase\1.0\ipdatabase-1.0.jar!\ipRegion.xlsx (文件名、目录名或卷标语法不正确。)
	at java.io.FileInputStream.open0(Native Method)
	at java.io.FileInputStream.open(FileInputStream.java:195)
	at java.io.FileInputStream.(FileInputStream.java:138)
	at java.io.FileInputStream.(FileInputStream.java:93)
	at com.ggstar.util.file.PoiUtil.getWorkbook(PoiUtil.java:17)
	at com.ggstar.util.ip.IpHelper.getRegionRelationMap(IpHelper.java:88)
	at com.ggstar.util.ip.IpHelper.getIpRelation(IpHelper.java:58)
	at com.ggstar.util.ip.IpHelper.buildTrain(IpHelper.java:33)
	at com.ggstar.util.ip.IpHelper.(IpHelper.java:27)
	at com.sid.com.project.IpUtils$.getCity(IpUtils.scala:7)
	at com.sid.com.project.IpUtils$.main(IpUtils.scala:11)
	at com.sid.com.project.IpUtils.main(IpUtils.scala)
java.lang.NullPointerException
	at com.ggstar.util.ip.IpHelper.getRegionRelationMap(IpHelper.java:90)
	at com.ggstar.util.ip.IpHelper.getIpRelation(IpHelper.java:58)
	at com.ggstar.util.ip.IpHelper.buildTrain(IpHelper.java:33)
	at com.ggstar.util.ip.IpHelper.(IpHelper.java:27)
	at com.sid.com.project.IpUtils$.getCity(IpUtils.scala:7)
	at com.sid.com.project.IpUtils$.main(IpUtils.scala:11)
	at com.sid.com.project.IpUtils.main(IpUtils.scala)

找不到ipRegion.xlsx 文件,查看从github上下载的ipdatabase源码,在resources中有两个文件。把这两个文件放到我们项目的resources下

IP地址解析之github中ipdatabase项目的使用_第5张图片

IP地址解析之github中ipdatabase项目的使用_第6张图片

运行结果

IP地址解析之github中ipdatabase项目的使用_第7张图片

你可能感兴趣的:(IP地址解析,ipdatabase,github,IP是什么城市,spark,SQL,Spark,SQL)