Skip to Content

JNI under MobileEngine

Hi all,

we have problem with calling native methods in MobileEngine context. The DLL is where it should be, all seems to be OK, but when System.loadLibrary() is called it raises an exception like

java.lang.UnsatisfiedLinkError: no <Our DLL name> in shared library path

at java.lang.Runtime.loadLibrary(Runtime.java)

at java.lang.System.loadLibrary(System.java)

at .... etc.

The same class works perfectly when it's called outside tomcat. In the forums we have found some information, that there are problems with JNI under tomcat/servlet containers.

Does have someone more information about? Does have SAP some patch or workaround in ME on that problem?

Thanks in advance,

best regards

Add comment
10|10000 characters needed characters exceeded

  • Follow
  • Get RSS Feed

1 Answer

  • Posted on Jun 17, 2004 at 09:20 AM

    Hi, could you provide a little more info, like where is the .dll located, what'S your java.library.path when your class is running. Cheers, stefan

    Add comment
    10|10000 characters needed characters exceeded

    • Yes, of course I give just the name of the DLL without the extension. I write the extension only when I'm trying to use System.load(), instead of System.loadLibrary().

      Also setting -Djava.library.path=\windows in the startup string doesn't work. It was one of the first things I have tried, but it just has no effect - the "java.library.path" property is still null :(. Thence behaviour we have assumed that the problem is in the more-than-one Classloaders in tomcat. The assumption comes by a colleague, that have more experience with tomcat, I personally have just a little bit idea from the tomcat's secrets.

      Now we have solved the problem by other way, and we do not need to call native methods. But the problem still persists, and in the future I suppose we will have again a lot of 'Fun' with it. 😊

      Thanks to anyone who helps for the solution!

      Best regards