gpt4 book ai didi

java - 使用配置文件设置 Java 系统属性

转载 作者:IT老高 更新时间:2023-10-28 20:59:05 24 4
gpt4 key购买 nike

是否可以使用某种配置文件来初始化 Java 系统属性?

(即:您可以使用 jar 中的文件设置 java.library.path 吗)

编辑:澄清:我特别询问初始化系统属性到文件中的一个值,而不是稍后从虚拟机内部设置它们。是的,您可以在机器启动后非常轻松地将系统属性更改为您想要的任何值,但是 Java 系统类不会使用新值。

实际上,这意味着 System.setProperty 和 System.setProperties 对于加载本地库是没有用的,因为 JNI 将始终使用 java.library.path 的原始值来加载库。我试图弄清楚是否有一个更干净的替代方法,只是将 -Djava.library.path=whatever 放在任何地方的启动脚本中。

最佳答案

有一种以编程方式设置 java.library.path 的方法,参见 this .

代码是在 ClassLoader 上设置 sys_path 字段的 hack,

System.setProperty( "java.library.path", "/path/to/libs" );

Field fieldSysPath = ClassLoader.class.getDeclaredField( "sys_paths" );
fieldSysPath.setAccessible( true );
fieldSysPath.set( null, null );

关于java - 使用配置文件设置 Java 系统属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6736235/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com