Я написал отдельную Java-программу (ЭТО РАБОТАЕТ), она вызывает собственную библиотеку, созданную из программы на C путем создания библиотеки libipmi_agent.so , но ее запуск в веб-приложении на tomcat даетследующая ошибка:
native library call java.lang.reflect.InvocationTargetException
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
...
java.lang.UnsatisfiedLinkError: org.qcri.power.util.IPMIAgent.ipmi_agent_init()I
org.qcri.power.util.IPMIAgent.ipmi_agent_init(Native Method)
org.qcri.power.util.IPMIAgent.main(IPMIAgent.java:18)
...
Вот мой класс Java:
package org.qcri.power.util;
public class IPMIAgent
{
private native int ipmi_agent_init();
private native void ipmi_agent_close();
private native int ipmi_agent_read_current_value();
static
{
System.loadLibrary("ipmi_agent");
}
// The main program
public static int main(String[] args)
{
int i, v=0;
IPMIAgent ipmiagent = new IPMIAgent();
ipmiagent.ipmi_agent_init();
for (i = 0; i < 100; i++)
{
try{
v = ipmiagent.ipmi_agent_read_current_value();
System.out.println("Current value is " + v);
Thread.currentThread().sleep(1000);
}
catch(InterruptedException ie){
}
}
return v;
}
}
* libipmi_agent.so находится в той же папке класса с вышеупомянутым классом Javaв /webapps/myapp/WEB_INF/classes.
правильна ли позиция файла?У кого-нибудь есть идея?
Заранее спасибо.