分发使用JNI的应用程序的最佳方式

时间:2013-01-21 09:39:33

标签: c++ windows visual-studio-2010 java-native-interface installation

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

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

问题是在JDK安装路径中找到的jvm.dll直接在线链接的所有示例。由于我的应用程序是商业应用程序,我不能依赖或要求每个用户都应该在我的应用程序旁边安装JDK,因为这将是荒谬的。

有人可以澄清打包此类申请的最佳方法吗?

问候

1 个答案:

答案 0 :(得分:2)

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

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