java - 您如何找到 System.loadLibrary() 在哪里查找库?

标签 java windows dll java-native-interface

您能否通过 Java 方法调用或 Windows 工具找出 System.loadLibrary() 从何处查找 DLL?

我们有一些预期会失败的代码,因为它使用 System.loadLibrary() 加载 native 库,但意外地成功了!我们认为我们已经从 PATH 中删除了相关 DLL 的所有副本,并删除了 java.library.path 参数,但不知何故代码仍然成功。我们已经重新启动了机器(以确保它没有潜伏在内存中)。我们一定是在做一些愚蠢的事情,但很难弄清楚是什么。

最佳答案

ProcessExplorer 没有显示加载了哪些 DLL 以及从哪里加载的吗?


从 OP 编辑​​。

ProcessExplorer做。运行它,然后执行“搜索”以查找您的 dll。它将显示它附加到的所有进程 - 您的 java 进程应该是其中之一。 “handle or dll”行还将给出 DLL 所在位置的完整路径。

关于java - 您如何找到 System.loadLibrary() 在哪里查找库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4626306/

相关文章:

java - Spring Boot - 没有这样的列异常

java - 是否可以在 Windows 10 中获得较旧的 Windows 版本外观?

c++ - BMP文件格式混淆

C++、Windows 服务和 msvcp140.dll

c++ - boost::asio::steady_timer 在 boost::dll 中不起作用

c++ - 如何模仿静态库的 "multiple instances of global variables within the application"行为但使用 DLL?

java - 使用 Thread.sleep 线程 hibernate 时的 CPU 消耗

java - 如何处理来自 JDesktopPane 的 JInternalFrame Close 操作?

java - GameManager 类型类的单一职责原则

python - 在 Python 脚本中运行批处理文件时出现 Windows 错误 2