我正在开发java Web应用程序,其中的逻辑会根据操作系统版本而有所不同。
目前,我们在 Ubuntu 12.04 和 Ubuntu 10 上部署了我们的应用程序。Web应用程序允许通过其UI更改DNS名称服务器。部署在 Ubuntu 10 中的应用程序将 DNS 名称服务器保留在etc/resolv.conf
但 Ubuntu 12.04 将它们保留在etc/network/interfaces
中。
当存储DNS名称服务器逻辑时,逻辑会像
if(ubuntuVersion < ubuntu 12.04) then
store it in etc/resolv.conf
else
store it in etc/network/interfaces.
System.getProperty("os.name")
、System.getProperty("os.arch")
或任何其他系统属性不会输出 Ubuntu 包信息。
如何实施if
部分?
尝试命令lsb-release
,它应该返回发行版的发布版本。您应该能够从输出中提取版本。
只运行
lsb_release --release --short
将返回 ubuntu 版本号
您可以通过以下方式获取操作系统版本:
lsb_release -a|grep Release|cut -f2