dll - java.lang.UnsatisfiedLinkError - Native method issue -


I am facing a problem in Java (Eclipse) regarding the use of DLS. Up to now, I have been experiencing the following problem:

  Exception exception for agent. Some advanced java.lang.UnconfirmedLinkError: SomePackage.SomeClass.SomeNativeMethod (II) Z [...] Z On the Core. Behaviours.Behaviour.actionWrapper (Behaviour.java344) at jade.core.Agent $$ ActiveLifeCycle.execute (agent.java:1532) at jade.core.Agent.run (agent.java1471) at java.lang. I do not know that this will help in detecting the problem, but I am also using ZE in this project ....  

Edit (28/04/2014):

I am trying to use which DLL is a custom (a former company Built by employee where I work).

The curious thing about this problem is that I have 2 Java projects that do the same thing. One of these projects runs completely, while the other is facing dissatisfied link entry . About Paths: I have created a specific folder for DSL which is in the workspace folder but not inside the project folder (in other words, the same folder where bin , src , bibs , settings , etc.). The configuration of this folder is equivalent to both projects I have. Also, I have already tested the System.out.println (System.getProperty ("java.library.path") method and returned the correct path on both cases. / P>

Edit (29/04/2014):

Just added some additional information about error messages. I think this problem is with the use of ZE ..

Here is a PD process that helps you identify the problem

Two runs To identify the differences between make and load paths between time environments, add the following to your program: Check any differences in the path / make.

  System.out.println (System. GetProperty ("Java.library.path")); System.out.println (System.getProperty ("sun.arch.data.model"));  

You can use Dumpbins. To identify the reliance being made by DLL, the EXE facility to identify which is being loaded. Example usage:

  C: & gt; Du mpbin / import.dll Dump file type of your dll file: The following import is included in the DLL section: ** KERNEL32.dll **  

You can use the where.exe command to You can use the location example of dependency:

  C:> Where KERNEL32.dll C: \ Windows \ System32 \ kernel32.dll  

If you are looking:

  C: & gt; Where KERNEL32.dll information is not available for the given pattern (files)  

Why is not the dependent DLL on the path.

You can use the dumpbin.exe command to check 64 bit vs 32bit. Example:

  C: & gt; DumpBin / Headers dump of yourd.dll file DLL PE signature found File type: DLL file header value 14C machine (x86) & lt; - 32 bit DLL C: & gt; DumpBin / Headers yourd.dll file got yourd.dll PE signature file type: DLL file header values ​​8664 machine (x64) & lt; - 64 bit DLL  

Any 32 bit versus 64 bit between main / dependent if your JVM is 32 bit, then you have to use 32 bit DLL. If your JVM is 64 bit, then you have to use 64bit DLL. (64bit OS is OK to run 32 bit JVM, but JNI DLL should be 32 bits (DLL does not match JSM).


Comments

Popular posts from this blog

import - Python ImportError: No module named wmi -

Editing Python Class in Shell and SQLAlchemy -

c# - MySQL Parameterized Select Query joining tables issue -