0

私は、OSのバージョンに基づいてロジックが異なるJavaWebアプリケーションに取り組んでいます。

現在、Ubuntu12.04とUbuntu10の両方にアプリケーションをデプロイしています。Webアプリでは、UIを介してDNSネームサーバーを変更できます。Ubuntu 10にデプロイされたアプリケーションはDNSネームサーバーをオンにetc/resolv.conf保ちますが、Ubuntu12.04はDNSネームサーバーをオンに保ちます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ように実装できますか?

4

2 に答える 2

1

OS のバージョンは次の方法で取得できます。

lsb_release -a|grep Release|cut -f2

于 2013-01-28T10:11:29.747 に答える
1

コマンドlsb-releaseを試してください。ディストリビューションのリリース バージョンが返されるはずです。出力からバージョンを抽出できるはずです。

ただ走っている

lsb_release --release --short

ubuntuのバージョン番号を返します

于 2013-01-28T10:03:53.020 に答える