gpt4 book ai didi

tomcat - JNI dll 文件在 tomcat 外部执行良好。但不在 tomcat 中运行,即使我将 dll 文件放入 tomcat/bin 中而不使用像 eclipse 这样的 ide

转载 作者:行者123 更新时间:2023-11-28 22:25:22 28 4
gpt4 key购买 nike

这是我的类,它是从我的 Web 应用程序中的 servlet 调用的。

public class Cpro
{
public native int id();
public int unique()
{
int a=new Cpro().id();
return a;
}
static{

System.load("Cpro.dll");

}
}

最佳答案

您可以将您的原生库放在应用程序资源中。在应用程序启动时,您可以将其存储到临时目录(例如)并根据 System.load() javadoc 通过绝对文件路径加载它:

Loads the native library specified by the filename argument. The filename argument must be an absolute path name.

例如:

InputStream dllResourceStream = null;
try {
ClassLoader cl = MyClass.class.getClassLoader();
// obtain dll resource stream
dllResourceStream = cl.getResourceAsStream("path/to/dll/resource");
File tmpFile = File.createTempFile("my_dll_name", ".dll");
// store dll to temp dirictory
Files.copy(dllResourceStream, tmpFile.toPath(), StandardCopyOption.REPLACE_EXISTING);
// load dll via absolute file path
System.load(tmpFile.getAbsolutePath());
} catch(AccessDeniedException e) {
throw new IOException("Unable to install twain libraries", e);
} finally {
if(dllResourceStream != null) resourceStream.close();
}

关于tomcat - JNI dll 文件在 tomcat 外部执行良好。但不在 tomcat 中运行,即使我将 dll 文件放入 tomcat/bin 中而不使用像 eclipse 这样的 ide,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47393483/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com