JNI:如何在退出

时间:2015-07-04 06:37:31

标签: java dll java-native-interface

我有一个使用JNI的程序。程序启动时,会将所需的dll文件解压缩到临时目录中。但是,当我打电话时

deleteOnExit();

在此文件上,程序退出时不会删除。我知道这是因为dll文件仍在使用,所以有替代解决方案吗?请注意,我不介意使用像VBScript这样的语言来实现这一目标。

我不想永久安装dll,因为我使用它来编写安装程序。

1 个答案:

答案 0 :(得分:0)

不好意思是先卸载dll,在卸载之前你不能删除它,但最好避免删除和复制dll,以下可能会出错:

  • 如果您的应用程序有多个实例正在运行,删除和复制dll会相互干扰
  • 如果您的应用程序崩溃,则不会删除dll
  • 某些防病毒程序不希望您的应用程序删除和创建dll

使用安装程序,您也可以将您的Java应用程序转换为.exe,然后将dll放在它旁边。如果dll位于(预定位置,不确定我是否理解你),则需要在运行应用程序之前将该位置添加到PATH变量。