3

我目前正在使用 JNI 调用位于 jar 文件中的方法的 Windows 桌面应用程序。

我需要知道打包我的应用程序以便它可以链接到 jvm.dll 的最佳方式。我不确定是否应该将在 JDK 的 bin 目录中找到的所有二进制文件打包到我的安装文件中(不确定是否允许这样做)?

问题是网上找到的所有例子都直接链接了JDK安装路径下的jvm.dll。而且由于我的应用程序是商业应用程序,我不能依赖或要求每个用户都应该在我的应用程序旁边安装 JDK,因为那太荒谬了。

请有人可以澄清打包此类应用程序的最佳方法吗?

问候

4

1 回答 1

2

jvm.dll 也与普通的 java 运行时(bin/client 子目录)一起安装。通过检查一些注册表值,您可以找到它的路径,从那里加载它并检查是否安装了正确的版本。如果您已经链接了 jvm.lib,那么您需要将 jvm.dll 添加到延迟加载的 dll 列表中,以便您可以在运行时加载它。

有关详细信息,请参阅我最近对另一个问题的回答:
https ://stackoverflow.com/a/14434203/93652

于 2013-01-21T10:26:32.200 回答