How to Handle java.lang.UnsatisfiedLinkError in Java? Last Updated : 23 Sep, 2021 Summarize Comments Improve Suggest changes Share Like Article Like Report Java.lang.UnsatisfiedLinkError is a subclass of LinkageError Class. When Java Virtual Machine(JVM) did not find the method Which is declared as "native" it will throw the UnsatisfiedLinkError. Now let us do discuss when and why does it occur. Java.lang.UnsatisfiedLinkError occurs during the compilation of the program. It is because of the reason that compiler did not find the Native Library, a Library that contains native code which meant only for a specified operating system, Native library like .dll in Windows, .so in Linux and .dylib in Mac. The hierarchy of this Error is like the given below as follows: Java.lang.Object Java.lang.Throwable Java.lang.Error Java.lang.LinkageError Java.lang.UnsatisfiedLinkError Example Java // Java Program to Illustrate UnsatisfiedLinkError // Importing input output classes import java.io.*; // Main class public class GFG { // Loading the External Library //"libfile" is name of C file static { System.loadLibrary("libfile"); } //Method 1 // To define externally in C file native void cfun(); // Method 2 // Main driver method public static void main(String[] args) { // Creating the object of above class inside main() GFG g = new GFG(); // Calling over the above method g.cfun(); } } Output: As seen above now in order to handle this error, we need to make sure that the PATH should contain the given "DLL" file in Windows. We can also check the java.library.path is set or not. If we are running the java file using the Command Prompt in Windows we can use the Java -Djava.library.path="NAME_OF_THE_DLL_FILE" -jar <JAR_FILR_NAME.jar> to run our java file. Another thing we can use is by giving the exact file location in System.LoadLibrary("Exact File Path") or System.load("Exact File Path") Method. Example Java // Java Program to Resolve UnsatisfiedLinkError by // considering C file where native function is defined // Importing input output classes import java.io.*; // Main class public class GFG { // Loading the External Library // "libfile" is name of C file static { System.load( "C:/Users/SYSTEM/Desktop/CODES/libfile.dll"); } // Method 1 // Defined externally in C file native void cfun(); // Method 2 // Main driver method public static void main(String[] args) { // Creating an object of class inside main() GFG g = new GFG(); // Calling the above object g.cfun(); } } Output: When we run the above java file it will Compile Successfully and display the Output. Hello from C file Note: We will generate the .dll file from this C file by using the command- 'gcc cfile.c -I C:/Program Files/Java/jdk1.8.0_111/include -I C:/Program Files/Java/jdk1.8.0_111/include/win32 -shared -o cfile.dll'. Now when we run the above java file it will Compile Successfully and display the Output. Comment More infoAdvertise with us Next Article How to Handle java.lang.UnsatisfiedLinkError in Java? A atulranaji19971 Follow Improve Article Tags : Java Java Programs Blogathon Blogathon-2021 Java-Exceptions +1 More Practice Tags : Java Similar Reads Java Tutorial Java is a high-level, object-oriented programming language used to build web apps, mobile applications, and enterprise software systems. It is known for its Write Once, Run Anywhere capability, which means code written in Java can run on any device that supports the Java Virtual Machine (JVM).Java s 10 min read Java OOP(Object Oriented Programming) Concepts Java Object-Oriented Programming (OOPs) is a fundamental concept in Java that every developer must understand. It allows developers to structure code using classes and objects, making it more modular, reusable, and scalable.The core idea of OOPs is to bind data and the functions that operate on it, 13 min read Java Interview Questions and Answers Java is one of the most popular programming languages in the world, known for its versatility, portability, and wide range of applications. Java is the most used language in top companies such as Uber, Airbnb, Google, Netflix, Instagram, Spotify, Amazon, and many more because of its features and per 15+ min read Non-linear Components In electrical circuits, Non-linear Components are electronic devices that need an external power source to operate actively. Non-Linear Components are those that are changed with respect to the voltage and current. Elements that do not follow ohm's law are called Non-linear Components. Non-linear Co 11 min read Arrays in Java Arrays in Java are one of the most fundamental data structures that allow us to store multiple values of the same type in a single variable. They are useful for storing and managing collections of data. Arrays in Java are objects, which makes them work differently from arrays in C/C++ in terms of me 15+ min read Collections in Java Any group of individual objects that are represented as a single unit is known as a Java Collection of Objects. In Java, a separate framework named the "Collection Framework" has been defined in JDK 1.2 which holds all the Java Collection Classes and Interface in it. In Java, the Collection interfac 15+ min read Inheritance in Java Java Inheritance is a fundamental concept in OOP(Object-Oriented Programming). It is the mechanism in Java by which one class is allowed to inherit the features(fields and methods) of another class. In Java, Inheritance means creating new classes based on existing ones. A class that inherits from an 13 min read Spring Boot Tutorial Spring Boot is a Java framework that makes it easier to create and run Java applications. It simplifies the configuration and setup process, allowing developers to focus more on writing code for their applications. This Spring Boot Tutorial is a comprehensive guide that covers both basic and advance 10 min read Java Exception Handling Exception handling in Java allows developers to manage runtime errors effectively by using mechanisms like try-catch block, finally block, throwing Exceptions, Custom Exception handling, etc. An Exception is an unwanted or unexpected event that occurs during the execution of a program, i.e., at runt 10 min read Java Programs - Java Programming Examples In this article, we will learn and prepare for Interviews using Java Programming Examples. From basic Java programs like the Fibonacci series, Prime numbers, Factorial numbers, and Palindrome numbers to advanced Java programs.Java is one of the most popular programming languages today because of its 8 min read Like