Electro Squid
Electro Squid

Reputation: 15

How to cure 'UnsatisfiedLinkError' - no rxtxSerial in java.library.path - in JArduino?

package NClang.tinycompile;

import org.sintef.jarduino.DigitalPin;
import org.sintef.jarduino.DigitalState;
import org.sintef.jarduino.JArduino;
import org.sintef.jarduino.PinMode;
import org.sintef.jarduino.comm.Serial4JArduino;

public class Blink extends JArduino {

public Blink(String port) {
    super(port);
}

protected void setup() {
    // initialize the digital pin as an output.
    // Pin 13 has an LED connected on most Arduino boards:
    pinMode(DigitalPin.PIN_12, PinMode.OUTPUT);
}

@Override
protected void loop() {
    // set the LED on
    digitalWrite(DigitalPin.PIN_12, DigitalState.HIGH);
    delay(1000); // wait for a second
    // set the LED off
    digitalWrite(DigitalPin.PIN_12, DigitalState.LOW);
    delay(1000); // wait for a second
}

public static void main(String[] args) {
    String serialPort;
    if (args.length == 1) {
        serialPort = args[0];
    } else {
        serialPort = Serial4JArduino.selectSerialPort();

    }
    JArduino arduino = new Blink(serialPort);
    arduino.runArduinoProcess();
}
}

this is my code for blinking a LED on the Arduino Uno board, but it throws

Load RxTx
java.lang.UnsatisfiedLinkError: no rxtxSerial in java.library.path thrown while loading gnu.io.RXTXCommDriver
Exception in thread "main" java.lang.UnsatisfiedLinkError: no rxtxSerial in java.library.path
    at java.lang.ClassLoader.loadLibrary(Unknown Source)
    at java.lang.Runtime.loadLibrary0(Unknown Source)
    at java.lang.System.loadLibrary(Unknown Source)
    at gnu.io.CommPortIdentifier.<clinit>(CommPortIdentifier.java:123)
    at org.sintef.jarduino.comm.Serial4JArduino.getAvailableSerialPorts(Serial4JArduino.java:244)
    at org.sintef.jarduino.comm.Serial4JArduino.selectSerialPort(Serial4JArduino.java:289)
    at NClang.tinycompile.Blink.main(Blink.java:36)

I have imported the rxtxSerial library to my path, and when I try importing it again it says:

rxtxSerial already in path, no changes have been made

I have looked at some posts about this issue on this website, but they all say something like "to import rxtxSerailcomm.jar and .dll into the right directories. I followed this advice, but still got the exact same error

Upvotes: 0

Views: 2710

Answers (2)

Oo.oO
Oo.oO

Reputation: 13405

You have to make sure that library (dll/so file) is added to your project. You have to look for Native library location in your settings. Take a look below.

enter image description here

You want to add your dll/so file there.

Upvotes: 2

Hitesh sapra
Hitesh sapra

Reputation: 256

You need to add the org.sintef.jarduino.core-0.1.7-SNAPSHOT.jar to your build path (right click on your project -> Build Path -> Configure Build Path -> Libraries tab)

Upvotes: 0

Related Questions