Maven. 设置 java.library.path

4
如何使用Maven在applet中设置java.library.path?通常我们可以通过向JVM传递参数来设置:-Djava.library.path=path/path2。但是,我该如何使applet从由我指定的java.library.path加载本地库?
附注:我使用第三方Java库,它使用本地.dll。因此,我认为尝试使用System.loadLibrary(relativePath);预加载本地库是无用的(因为第三方库无论如何都会尝试从java.library.path加载.dll,然后抛出UnsatisfiedLinkError)。
2个回答

1

你可以通过以下方式设置 Maven 的 java.library.path,因为这是在程序运行时设置的,而不是在构建时设置的。

对于 applet,在浏览器启动之前必须正确设置 windows 的 PATHLD_LIBRARY_PATH

否则,您需要使用绝对路径并自己搜索 DLL 或 SO。

顺便说一句:尝试从 applet 使用共享库可能会遇到安全问题。


1
我如何使用Maven在小程序中设置java.library.path
据我所知,只要本地文件在应用程序的运行时类路径上,就不需要指定路径。将其放入作为JNLP中的nativelib引用的Jar的根目录中即可实现这一点。

嗯,这很奇怪,但我将 .dll 文件放在 maven 项目的 resources 包中,因此该 .dll 文件百分之百在类路径中,并位于 jar 包的根目录中。但我仍然收到 UnsatisfiedLinkError 错误。 - WelcomeTo
已解决,忘记将<jar href...>更改为<nativelib href...>。谢谢。我希望这个更改不会给我的.jar文件增加额外的限制? - WelcomeTo
“希望这个更改不会让我的 .jar 受到额外的限制?” “据我所知不会。很高兴你解决了问题。 :)” - Andrew Thompson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接