我想导出使用JNI接口的Java应用程序,并通过System.loadLibrary("dllName")
加载DLL。
DLL文件位于Java Project文件夹内以及C驱动器中,这是JVM在运行时搜索DLL的位置之一。
问题:当我将这个项目导出为Jar并将其提供给客户端时,客户端应该能够运行该工具而无需麻烦地输入Dll文件。我无法想到通过替代方式来完成此任务;通过使用System.load("path:\\")
提供绝对路径,因为我不知道用户会将Jar文件下载到哪里。
启动应用程序之前,您需要将DLL放置在与应用程序运行路径相同的路径中,在系统路径中,或在其路径中添加PATH变量。
以下代码段将加载DLL,而与工作目录无关,如果它位于与JAR文件相同的目录中:
看看Runtime.load。