我已经将一些 JNI 挂钩写入 C++ 库,并为我的 java 服务器项目创建了一些 DLL 文件。假设 DLL 和 jar 文件位于“C:/server”下的同一文件夹中
我正在使用以下方式访问这些 DLL 文件:
System.loadLibrary("someDLLFile");
在需要 C++ 代码的类中。
我遇到的问题是当我在自己的机器上运行此服务器时,无论我将“服务器”文件夹放在哪里,一切都正常。但是当我把它交给同事测试时,他们不断得到:
java.lang.UnsatisfiedLinkError no someDLLFile in java.library.path
我想让 DLL 文件与 jar 文件位于同一文件夹中,并且不希望有人配置他们的 PATH 变量。
为什么无论文件夹的位置如何,System.loadLibrary() 都可以在我自己的机器上工作,但不能在另一台计算机上工作?