2017-08-29 93 views
-1

我想找出一个Java程序中的操作系统,以便我可以加载正确的本地库。我知道使用System.getProperty("os.name")是一个选项,但我不想使用它,因为它可以由代码库中的任何人通过使用System.setProperty("os.name", "foo")来设置。如何确定使用Java的操作系统?

+0

向您的工程师显示[this](https://stackoverflow.com/a/28047817/438154)。 –

回答

1

确保从Java运行时加载正确的JNI库的唯一方法是尝试使用System.loadLibrary()加载它们中的任何一个并捕获异常,直到一个本地库加载正确为止。找到底层操作系统的其他方法只是启发式工具。

0

只需使用System.getProperty("os.name")因为我不认为他们是另一种方式来做到这一点,而不用担心setProperty因为如果你想想看,没有人会为它设置foobar或类似的东西。

相关问题