2017-08-29 7 views
-1

正しいネイティブライブラリをロードできるように、JavaプログラムでOSを調べたいと思います。私はSystem.getProperty("os.name")を使用していることを知っていますが、System.setProperty("os.name", "foo")を使用してコードベースの誰でも設定できるため、使用しないことをお勧めします。Javaを使用してオペレーティングシステムを特定する方法は?

+0

[こちら](https://stackoverflow.com/a/28047817/438154)をエンジニアに表示してください。 –

答えて

1

Javaランタイムから正しいJNIライブラリを確実にロードする唯一の方法は、1つのネイティブライブラリが正しくロードされるまで、System.loadLibrary()でそれらをロードして例外をキャッチしようとすることです。根底にあるOSを見つける他の方法はヒューリスティックなツールだけです。

0

あなたが考えてみれば、誰もがfooまたはbarにそれを設定していないか、そのようなものになるので、私はそれを行うための別の方法は、自分だとは思わないし、約setPropertyを心配していないためだけSystem.getProperty("os.name")を使用しています。

関連する問題