我试图通过Java在unix机器上调用用c ++编写的本机方法。 我已将静态块声明为
static {
System.loadLibrary("loadData_v2");
}
// C ++本地库
private native String loadData( String args );
启动tomcat后,我的启动servlet给出了
Caused by: java.lang.UnsatisfiedLinkError: com.abc.loadData(Ljava/lang/String;)Ljava/lang/String;
如果我运行独立程序来调用本机函数,那么它可以正常工作。但是如果我在启动servlet中添加相同的代码,它会抛出异常。
如果我打印System.getProperties().getProperty("java.library.path");
它将正确的路径打印为我的.so文件所在的/home/mymechine/Desktop/SharedFile
。
如果我在tomcat配置中遗漏了任何内容或者我需要添加?
,是否有人可以指导我完成此操作