将 java.library.path 添加到 java 清单
Add java.library.path to java manifest
可以在 java 应用程序执行之前或期间设置 java.library.path(通过设置 java 库路径的全局环境变量或在运行 java exec jar)。是否可以在 java jar 的清单文件中设置它,就像使用 Class-Path 对 类 所做的那样?听起来像是一个应该支持的功能,如果它不存在的话。
编辑:因为正如 stdunbar 提到的那样,清单文件不支持 java.library.path 映射,我添加了一个答案以及使用清单文件的替代解决方案.
不,spec 不支持此功能。一般来说,java.library.path 变量非常 O/S 和机器相关,将它包含在 Jar 文件中没有多大意义。
由于无法使用清单文件设置 java.library.path,我四处寻找替代解决方案。
一个不错的方法是通过实际的应用程序代码设置 java.library.path:
setting java.library.path programmatically
这解决了我的部署问题(不需要额外的脚本来手动设置 -Djava.library.path)。
请注意,如果需要更动态的解决方案,可以将添加的库路径存储在设置java.library.path时读取的配置文件中。
编辑:更新 link,感谢@uchuugaka
可以在 java 应用程序执行之前或期间设置 java.library.path(通过设置 java 库路径的全局环境变量或在运行 java exec jar)。是否可以在 java jar 的清单文件中设置它,就像使用 Class-Path 对 类 所做的那样?听起来像是一个应该支持的功能,如果它不存在的话。
编辑:因为正如 stdunbar 提到的那样,清单文件不支持 java.library.path 映射,我添加了一个答案以及使用清单文件的替代解决方案.
不,spec 不支持此功能。一般来说,java.library.path 变量非常 O/S 和机器相关,将它包含在 Jar 文件中没有多大意义。
由于无法使用清单文件设置 java.library.path,我四处寻找替代解决方案。 一个不错的方法是通过实际的应用程序代码设置 java.library.path: setting java.library.path programmatically
这解决了我的部署问题(不需要额外的脚本来手动设置 -Djava.library.path)。
请注意,如果需要更动态的解决方案,可以将添加的库路径存储在设置java.library.path时读取的配置文件中。
编辑:更新 link,感谢@uchuugaka