IntelliJ Idea和JNI:确定DLL是他们需要执行的地方

Bre*_*gan 3 java dll java-native-interface intellij-idea

我正在使用项目中的第三方库,它包含两个.dll文件和一个.jar fie来提供JNI Wrapper.可以使用以下命令调用.jar文件中包含的第三方供应商的测试项目:

java -cp product.jar com.company.samples.product.Test
Run Code Online (Sandbox Code Playgroud)

只要.jar和两个dll都在同一个目录中,这就可以了.

在我的项目中,我将jar文件和dll放在同一目录中,然后将jar文件作为IntelliJ Idea中的库引用,但这会导致库无法找到dll.有没有办法可以告诉Idea哪里有dll,所以它可以在执行期间将它们输出到与jar文件相同的目录中?

dis*_*ame 6

在IntelliJ中,如果要添加.dll所在的目录,请执行以下操作:

1)打开"项目结构"对话框(例如Ctrl + Shift + Alt + S).

2)在对话框的左侧窗格中,选择"模块".

3)在右侧窗格中,选择感兴趣的模块.

4)在对话框的右侧,在"模块"页面上,选择"依赖关系"选项卡.

5)在Dependencies选项卡上,单击"+"并选择Jars或目录.

6)在打开的对话框中,选择所需的文件和文件夹.这些文件可能是包含此类文件的单个.class和.java文件,目录和存档(.jar和.zip)以及包含Java本机库(.dll,.so或.jnilib)的目录.单击确定.

有关https://www.jetbrains.com/help/idea/2016.3/configuring-module-dependencies-and-libraries.html#d1860048e28的原始说明,请参阅.

这是我为JDBC驱动程序添加.dll(sql_auth.dll)以使用MS SQL的集成安全性的方法.