项目启动时,可能无法判断当前项目启动端口是否被占用,设定端口后可能会导致端口占用而无法启动
在思考能不能使用程序判断未被占用的端口,动态的进行启动项目
/**
* 根据IP和端口号,查询其是否被占用
* 如果所测试端口号没有被占用,那么会抛出异常,这里利用这个机制来判断
* @param host IP地址
* @param port 端口号
* @return 如果被占用,返回true;否则返回false
*/
public static boolean portIsUsing(@NotNull String host, int port) {
if (host != null && host.startsWith("https://")) {
host = host.substring(8);
}
if (host != null && host.startsWith("http://")) {
host = host.substring(7);
}
try {
InetAddress theAddress = InetAddress.getByName(host);
new Socket(theAddress, port);
return true;
} catch (IOException ignored) {
}
return false;
}
版权声明:本文为L_fly_J原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。