当前位置:首页 » 编程语言 » 动态链接java

动态链接java

发布时间: 2023-06-26 02:22:38

① eclipse中的java工程项目如何引用外部jar包和dll动态链接库

1、引用jar包
绝对路径引用:右键工程-->properties-->Java Build Path-->Libraries-->Add external JARs... ,在弹出的对话框中选择要引入的jar包,OK即可。
相对路径引用:首先在工程目录下,新建一个libs文件夹,将要导入的jar包放入其中,然后右键工程-->properties-->Java Build Path-->Libraries-->Add JARs... ,在弹出的对话框中选择libs文件夹下的jar包即可。
2、引用dll动态链接库
绝对路径引用:右键工程-->properties-->java Build Path-->Source,点开工程,选择Native libraries location....,点击右侧的edit..-->external Folder...,选择要引入的dll文件所在文件夹即可。

相对路径引用:首先在工程目录下,新建一个libs文件夹,将要导入的dll文件包放入其中,右键工程-->properties-->java Build Path-->Source,点开工程,选择Native libraries location....,点击右侧的edit..-->Workspace..,选择libs文件夹即可。

② java 加载动态链接库怎么使用相对路径

用 System.loadLibrary() 加载 Native 库的搜索路径:

String libPath = System.getProperty("java.library.path");
StringTokenizer tkzr = new StringTokenizer(libPath, ";");
while (tkzr.hasMoreTokens())
out.println(tkzr.nextToken());

也可用 System.load() 加载指定路径的 Native 库。
System.load(fl.getCanonicalPath() + "\my.dll");
而文件对象 fl 和路径取得有以下方式:

File fl = new File(""); // 设定为当前文件夹
fl.getCanonicalPath(); // 获取标准的路径,抛出 IOException
fl.getAbsolutePath(); // 获取绝对路径,不抛出异常

getCanonicalPath() 解析 . 和 ..
getAbsolutePath() 不解析 . 和 ..
getPath() 返回 new File() 时设置的路径

如当前的路径为 C:\test

File fl = new File("abc");
fl.getCanonicalPath(); => C:\test\abc
fl.getAbsolutePath(); => C:\test\abc
fl.getPath(); => abc

③ java 加载动态链接库怎么使用相对路径

java 加载动态链接库使用相对路径一般是不可以直接从jar文件中加载目标dll文件,需要分两步:
1、从jar中拷贝dll文件
public static void loadJarDll(String name) throws IOException {
InputStream in = MyClass.class.getResourceAsStream(name);
byte[] buffer = new byte[1024];
int read = -1;
File temp = File.createTempFile(name, "");
FileOutputStream fos = new FileOutputStream(temp);
while((read = in.read(buffer)) != -1) {
fos.write(buffer, 0, read);
}
fos.close();
in.close();
System.load(temp.getAbsolutePath());
}
2、创建dll所在的相对路径,用临时了路径过度:
ArrayList<String> bins = new ArrayList<String>(){{
add("/nm/metadata/bin/dependence1.dll");
add("/nm/metadata/bin/dependence2.dll");
add("/nm/metadata/bin/dependence3.dll");
add("/nm/metadata/bin/dependence4.dll");
add("/nm/metadata/bin/jniBin.dll");
}};
new File(new File(System.getProperty("java.io.tmpdir")), name)

④ 在Java中使用jdbc动态链接多个在不同服务器上的数据库,该怎么做

1. 根据不同的数据库加载不同的驱动:Driver = Class.forName()...; DriverManager
2. 根据数据库的参数,建立不同的链接:DriverManager.getConnection()...
3. 定义一个数据结构(比如类),来管理这些不同的链接.
4. 最后使用这些链接来操作数据库.

热点内容
战舰少女r红茶脚本 发布:2025-02-12 04:05:05 浏览:465
峰火战国服务器什么时候开 发布:2025-02-12 03:56:31 浏览:175
电脑配置慢怎么解压 发布:2025-02-12 03:52:18 浏览:716
androidsdk功能 发布:2025-02-12 03:43:07 浏览:87
阿里云服务器可以访问外网吗 发布:2025-02-12 03:42:20 浏览:880
脚本的生命周期顺序 发布:2025-02-12 03:37:28 浏览:369
素数加密 发布:2025-02-12 03:37:27 浏览:803
ar源码 发布:2025-02-12 03:32:04 浏览:656
阅图文件夹 发布:2025-02-12 03:30:22 浏览:762
旧手机存储资料 发布:2025-02-12 03:29:42 浏览:472