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 时,就不行了。财产名称有误?

添加:

ClassLoader.class.getDeclaredFields();

我找不到“usr_paths”。

4

1 回答 1

1

正如我在评论中指出的那样,这个问题可能是两个(或多个)可能原因之一(或组合)的结果: - 您遇到了 WebSphere 的安全/权限问题 - 您正在编写的代码可能不是真的在所有平台、JVM 上可移植

我建议研究这些可能的方向。

希望这可以帮助。

于 2012-12-28T08:53:18.830 回答