在Java中添加/设置IPv4局域网地址的最佳方法是什么?

3

我想在Java应用程序(实际上是Scala)中添加一个额外的ipv4本地网络IP地址。到目前为止,我找到的唯一解决方案是使用运行时执行netsh,但如果可能的话,我希望不依赖于netsh并使用核心Java库。有什么最好的解决方案吗?此外,看起来即使使用netsh也无法解决我的问题,因为我在Linux上。

1个回答

3
你可以运行ifconfig命令(在Windows上使用ipconfig/netsh命令)。使用以下命令:
ifconfig eth0 <NEW-IP> netmask 255.255.255.0 up

在Java中:

Process p = Runtime.getRuntime().exec(new String[]{"bash","-c","ifconfig eth0 <NEW-IP> netmask 255.255.255.0 up"});

这个方法是可行的,但需要注意(在我的情况下)必须以sudo身份运行,并跟随/sbin/ifup eth0。另外值得注意的是,这种更改不会被持久化,所以如果您想永久设置静态IP,您需要另一种选项,比如在Linux上编辑/etc/network/interfaces文件。 - jonderry

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接