正在 Java 中加载远程库

Loading remote libraries in Java

我知道这里已经有人问过类似的 question,但似乎没有人回答 it.The 我正在从事的项目需要这些功能。

  1. 必须从服务器加载一个 dll 到客户端的程序 运行。
  2. dll 中的本机方法必须访问存在于 服务器。
  3. 本地方法的调用发生在客户端。

谢谢!

+--------------+                       +--------+
| Client (JVM) | - 1. download DLL --> | Server |
+--------------+                       +--------+
  | |      ^                               |         
  | |      |                               |
  | |      |                               |
  | |      +------- 2. DLL-----------------+
  | |
  | |
  | +-- 3. save DLL into temporary location --+
  |                                           |
  |                                           |
  |                                          \ /
  |                                    /tmp/some_file
  |                                    
  |
  +--- 4. load file using System.load

To access files on server do one of these (few loose ideas):

- map disk or mount SMB resources
- implement RMI inside native code loaded into JVM via JNI
- implement remote access to files