Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Java Новый топик    Ответить
 UnsatisfiedLinkError при вызове нативного метода  [new]
oraclebin
Guest
Имею такой класс

class NativeParam
{
public static native int sum(int i1, int i2, int i3);

public static void main (String[] args)
{
int i1 = 111;
int i2 = 11;
int i3 = 1;
try
{
System.load("c:\\oracle\\ora92\\bin\\rust.dll");
}
catch (UnsatisfiedLinkError e)
{
System.out.println("библиотека" + e );
}

try
{
int i = sum(i1,i2,i3);
}
catch (UnsatisfiedLinkError e)
{
System.out.println("функция "+e);
}

}
}




и простешую dll c сишной функцией возвращающей сумму трех входных параметров
Делаю все это в Oracle Jdeveloper 9.0.3

Получаю результат:
C:\jdev\jdk\bin\javaw.exe -ojvm -classpath C:\jdev\jdev\mywork\Workspace1\Project3\classes;C:\jdev\jdev\lib\jdev-rt.jar NativeParam

функция java.lang.UnsatisfiedLinkError: int NativeParam.sum(int, int, int)

То есть я так понимаю DLL находится и загружается, а найти эту функцию он в ней не может.
Пробовал и просто с System.loadLibrary
И как уже только не пробовал.
В Oracle Jsp


<%@ page contentType="text/html;charset=WINDOWS-1251"%>
<HTML>
<HEAD>
<TITLE>
Hel 3
</TITLE>
</HEAD>

<BODY>

<%! public static native int sum(int i1, int i2, int i3); %>
<%! int i=99; %>
<%

try
{
System.load("c:\\ora92\\bin\\rust.dll");
}
catch (UnsatisfiedLinkError e)
{
out.println("library not found (" + e + ")");
}

try
{
i = sum(1,1,1);
}
catch (UnsatisfiedLinkError e)
{
out.println("метод "+e);
}
%>

<%= i %>

</BODY>
</HTML>

тоже ругается на вызове нативной функции ((
Облазил оракловый металинк...никакого решения не нашел

Как же это полечить?
16 сен 03, 11:25    [340210]     Ответить | Цитировать Сообщить модератору
 Re: UnsatisfiedLinkError при вызове нативного метода  [new]
stdio
Member

Откуда:
Сообщений: 4524
А почему Вы думаете, что Java работает так, как Вы предполагаете? В документацию пытались заглянуть?
16 сен 03, 12:04    [340307]     Ответить | Цитировать Сообщить модератору
 Re: UnsatisfiedLinkError при вызове нативного метода  [new]
orabin
Guest
я не предполагаю.
а взял исходный пример по JNI из документации.
16 сен 03, 12:32    [340368]     Ответить | Цитировать Сообщить модератору
Все форумы / Java Ответить