Gradle 得到 local ip
2019-02-28 本文已影响0人
Yellowtail
前言
为什么会产生这个想法呢?
我们有一个 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