2
java.lang.reflect.Field field = ClassLoader.class.getDeclaredField("usr_paths");
field.setAccessible(true);
String[] paths = (String[])field.get(null);
當使用Tomcat時,我可以得到'java.library.path'。但是,當使用IBM WebSphere時,不起作用。 指定的財產是錯誤的?
地址:如何獲得「usr_paths」字段?
ClassLoader.class.getDeclaredFields();
我找不到 「usr_paths」。
你有什麼異常/錯誤?或者它只是不返回任何東西?還有你應該擔心的任何安全問題? – acostache
我認爲您可能會遇到由於Tomcat與WebSphere JVM交互(和/或安全問題:您的服務器可能沒有足夠的權限或類似訪問JVM的問題)而產生的問題 – acostache
此外,正如此鏈接中所述(http://nicklothian.com/blog/2008/11/19/modify-javalibrarypath-at-runtime/)以及此代碼在搜索時顯示的其他相關位置,這可能無法在所有平臺上移植 – acostache