SpringBootでMACアドレスを取得する方法
Spring BootでMACアドレスを取得するには、以下の手順を実行します。
- 関連の依存関係をインポートする:
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-runtime</artifactId>
<version>4.1.65.Final</version>
</dependency>
- MACアドレスを取得するためのユーティリティクラスを作成します。
import io.netty.channel.socket.nio.NioDatagramChannel;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.net.UnknownHostException;
public class MacAddressUtils {
public static String getMacAddress() {
try {
NetworkInterface network = NetworkInterface.getByInetAddress(InetAddress.getLocalHost());
byte[] mac = network.getHardwareAddress();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < mac.length; i++) {
sb.append(String.format("%02X%s", mac[i], (i < mac.length - 1) ? "-" : ""));
}
return sb.toString();
} catch (SocketException | UnknownHostException e) {
e.printStackTrace();
}
return null;
}
}
- MACアドレスを取得する必要がある箇所では、上記のユーティリティクラスのメソッドを呼び出します。
String macAddress = MacAddressUtils.getMacAddress();
System.out.println(macAddress);
本方法ではローカルホストのMacアドレスを取得します。他デバイスのMacアドレスを取得するには別の方法が必要になります。