tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Eric Lee (LYN) (EUS)" <>
Subject RE: Tomcat and JNI
Date Wed, 06 Dec 2000 15:50:14 GMT
I know that the library is be loaded,  and I am fairly certain that the linkage is correct
because the class performs as expected when invoking interactively, e.g. java Hello.  I failed
to mention earlier that this works on NT, but not HP-UX.  I have also read postings that indicate
this is an issue on other versions of UNIX as well.  Has anyone accomplished this on UNIX?
 If so, were there any special configuration issues?
-----Original Message-----
From: Russell Freeman []
Sent: Tuesday, December 05, 2000 10:48 AM
To: ''
Subject: RE: Tomcat, JNI and HP-UX

I have some tips from experience with both Win32 and AIX platforms. I'm assuming that HP UK
C dynamic link libraries are built similar to AIX ones...?
- JDK 1.18 uses JNI version 1.0 bindings by default. Use the -jni option with javah to create
a JNI 1.1 style C headers. These are easier to link with.
- Make sure you use the generated header for the basis of the function implementation (rather
than copying by hand). This will ensure you get the function header exactly right. 
- The unsatified link exception can occur for many reasons: the library is not found (not
on the LIBPATH for instance), the method wasn't resolved (not exported or wrong signature
in C)
Given the following java class with natic methods:
package  a.b;
public class c {
   public native void doSomething() {} 
   public native void doSomethingElse() {} 
You will need an export file with your so/shared library/DLL containing the mangled function
prototypes, For example, in foo.exp ( the export file for the library ) I have: -
This is the JNI 1.1 C export for the above java code.

-----Original Message-----
From: Eric Lee (LYN) (EUS) []
Sent: 05 December 2000 14:45
To: ''
Subject: Tomcat, JNI and HP-UX

I am using Tomcat 3.1 on HP-UX 10.20 with Java version ("HP-UX Java C.01.18.03 05/12/2000
16:31:36 hkhd02") I am attempting to use a servlet that instantiates a class that contains
JNI methods and I keep getting java.lang.UnsatisfiedLinkError exceptions when these native
methods are accessed. The JNI methods execute fine from the command line with Java interpreter,
I also know that the servlet is loading the shared library.  There are similar postings in
the mailing list archives but they are without response.  If anyone has any comments, I sure
would appreciate them.

Many Thanks, 
Eric Lee 

View raw message