MATLAB: Do I get the error message “??? Error Using==> javaObject” when I try to use Java objects that call native methods

acallinginjavajniMATLABmethodnativeunsatisfiedlinkerror

I have a JAR file that includes a Java class that calls a native method. After making this class available to MATLAB by adding the full path and filename of the JAR file to classpath.txt, I get the following error message when I try to invoke the Java object constructor in MATLAB:
jo = javaObject('com.freddiemac.fir.finance.TermStructure')
??? Error using ==> javaObject
No class com.freddiemac.fir.finance.TermStructure can be located on Java
class path.

Best Answer

In the case where your Java object calls a native method, this error message indicates that you do not have your system path set correctly.
Native methods are implemented in shared libraries or dynamic-link libraries, and if the location of the shared libraries is not set in the environment variable "Path", a java.lang.UnsatisfiedLinkError error occurs and the object is not created in MATLAB.
For information on setting your system path, see the Related Solution listed below.