我想在java程序中找到操作系统,以便我可以加载正确的本机库。我知道使用System.getProperty("os.name")
是一个选项,但我不想使用它,因为它可以由代码库中的任何人使用System.setProperty("os.name", "foo")
设置。
答案 0 :(得分:1)
确保从Java运行时加载正确的JNI库的唯一方法是尝试使用System.loadLibrary()加载其中任何一个并捕获异常,直到正确加载一个本机库。找到底层操作系统的其他方法只是启发式工具。
答案 1 :(得分:0)
只使用System.getProperty("os.name")
,因为我不认为他们是另一种方式,并且不要担心setProperty
,因为如果您考虑它,没有人会将其设置为{{ 1}}或foo
或类似的东西。