在导出时向System.loadLibrary提供DLL路径

问题描述 投票:2回答:3

我想导出使用JNI接口的Java应用程序,并通过System.loadLibrary("dllName")加载DLL。

DLL文件位于Java Project文件夹内以及C驱动器中,这是JVM在运行时搜索DLL的位置之一。

问题:当我将这个项目导出为Jar并将其提供给客户端时,客户端应该能够运行该工具而无需麻烦地输入Dll文件。我无法想到通过替代方式来完成此任务;通过使用System.load("path:\\")提供绝对路径,因为我不知道用户会将Jar文件下载到哪里。

java dll java-native-interface
3个回答
1
投票

启动应用程序之前,您需要将DLL放置在与应用程序运行路径相同的路径中,在系统路径中,或在其路径中添加PATH变量。


0
投票

以下代码段将加载DLL,而与工作目录无关,如果它位于与JAR文件相同的目录中:


0
投票

看看Runtime.load

© www.soinside.com 2019 - 2024. All rights reserved.