美文网首页
Gradle 得到 local ip

Gradle 得到 local ip

作者: Yellowtail | 来源:发表于2019-02-28 20:26 被阅读0次

    前言

    为什么会产生这个想法呢?
    我们有一个 SNAPSHOT 的快照包,同事们都可以在自己的电脑上进行发布
    但是偶尔会出现 坏包,不知道是谁发布的,
    所以想在快照包里 加上 当前电脑的局域网ip,
    这样出现问题,看下ip,就知道是哪个同事的电脑出了问题,再着手解决即可
    (当然了,最后只知道了如何得到ip, 如何改造快照包依然不清楚)

    代码实现

    网上搜了下,在这里发现了答案

    代码如下

    // Get the ip address by interface name
    def getIP() {
        InetAddress result = null;
        Enumeration<NetworkInterface> interfaces = NetworkInterface.getNetworkInterfaces();
        while (interfaces.hasMoreElements()) {
            Enumeration<InetAddress> addresses = interfaces.nextElement().getInetAddresses();
            while (addresses.hasMoreElements()) {
                InetAddress address = addresses.nextElement();
                if (!address.isLoopbackAddress()) {
                    if (address.isSiteLocalAddress()) {
                        return address.getHostAddress();
                    } else if (result == null) {
                        result = address;
                    }
                }
            }
        }
        return (result != null ? result : InetAddress.getLocalHost()).getHostAddress();
    }
    

    build.gradle 里随便写个 task

    task hi() {    
        println "getLocalIp is " + getIP()
    }
    

    执行一下

    gradle hi
    
    > Configure project :
    getLocalIp is 192.168.2.145
    

    相关文章

      网友评论

          本文标题:Gradle 得到 local ip

          本文链接:https://www.haomeiwen.com/subject/mzakuqtx.html