0

我正在开发 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")orSystem.getProperty("os.arch")或任何其他系统属性不输出 Ubuntu 软件包信息。

if部分如何实现?

4

2 回答 2

1

试试这个命令lsb-release,它应该返回发行版的发布版本。您应该能够从输出中提取版本。

只跑

lsb_release --release --short

将返回 ubuntu 版本号

于 2013-01-28T10:03:53.020 回答
1

您可以通过以下方式获取操作系统版本:

lsb_release -a|grep Release|cut -f2

于 2013-01-28T10:11:29.747 回答