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